home *** CD-ROM | disk | FTP | other *** search
/ Millennium Time Capsule / AC2000.BIN / disks / ac9_disk / net157 / examples / telnet.bas < prev    next >
Encoding:
BASIC Source File  |  1997-08-06  |  1.6 KB  |  93 lines

  1.  
  2. REM $include networld.bas
  3.  
  4. REM Telnet example. Simply asks for a host and port and connects to
  5. REM it. Keeps checking user/remote for input/output. You have to run
  6. REM STiK first, then run this program since it doesn't use a menu!
  7.  
  8. start:
  9. INPUT "Connect to: ",name$
  10. IF name$="" THEN STOP
  11. INPUT "On port: ",port
  12.  
  13. cn=tcp_connect (name$,port,0,2000)
  14. IF cn<E_NORMAL THEN
  15.     PRINT "Connection failed!"
  16.     PRINT gerrtxt$(cn)
  17.     STOP
  18. END IF
  19.     
  20. REM We're connected!
  21.  
  22. PRINT "Connected to '"+name$+"' on port"+STR$(port)+" chn#"+STR$(cn)
  23. PRINT
  24.  
  25. ser_disable dummy()
  26. OPEN "TELNET.LOG" FOR APPEND AS #1
  27. PRINT #1,"--"
  28. PRINT #1,"Connected to '"+name$+"' on port"+STR$(port)+" chn#"+STR$(cn)
  29. ser_enable dummy()
  30.  
  31. LOCATE 5,1,1
  32.  
  33. check:
  34.  
  35. c=cnbyte_count (cn)
  36. GOSUB keybd:
  37. IF c>0 THEN
  38.     FOR f=1 TO c
  39.         d=cnget_char (cn)
  40.         IF c<E_NORMAL THEN
  41.             PRINT "cnget_char: "+gerrtxt$(c)
  42.             GOTO check:
  43.         END IF
  44.         
  45.         IF d<2 THEN
  46.             x=tcp_close (cn,20)            
  47.             GOTO start:
  48.         END IF
  49.         ser_disable dummy()
  50.         IF d>0 THEN PRINT CHR$(d);
  51.         IF d>0 THEN PRINT #1,CHR$(d);
  52.         ser_enable dummy()
  53.     NEXT
  54. END IF
  55.  
  56. GOTO check:
  57.  
  58. keybd:
  59.  
  60. a$=INKEY$
  61. IF a$="" THEN RETURN
  62.  
  63. IF a$=CHR$(27) THEN
  64.     x=tcp_close (cn,20)
  65.     CLOSE #1
  66.     STOP
  67. END IF
  68.  
  69. IF a$=CHR$(8) THEN GOSUB delete:
  70. IF ASC(a$)>31 THEN kl$=kl$+a$ : PRINT a$;
  71. IF a$=CHR$(13) THEN
  72.     PRINT
  73.     IF cn>-1 THEN x=tcpsend (cn,kl$)
  74.     ser_disable dummy()
  75.     PRINT #1,"USER>"+kl$
  76.     ser_enable dummy()
  77.     kl$=""
  78. END IF
  79.  
  80. RETURN
  81.  
  82. delete:
  83. kl$=MID$(kl$,1,LEN(kl$)-1)
  84. GOSUB redraw:
  85. RETURN
  86.  
  87. redraw:
  88. x=CSRLIN
  89. LOCATE x,1
  90. PRINT STRING$(78,32)
  91. LOCATE x,1
  92. PRINT kl$;
  93. RETURN