home *** CD-ROM | disk | FTP | other *** search
/ synchro.net / synchro.net.tar / synchro.net / Synchronet_Archive / 310IBETA.ZIP / socktest.js < prev    next >
Encoding:
Text File  |  2001-09-16  |  1.1 KB  |  46 lines

  1. load("sbbsdefs.js");    // CON_RAW_IN
  2. load("sockdefs.js");    // SO_RCVBUF
  3.  
  4. printf("tx = %d\r\n",client.socket.getoption(SOL_SOCKET,SO_SNDBUF));
  5. printf("rx = %d\r\n",client.socket.getoption(SOL_SOCKET,SO_RCVBUF));
  6. console.status |= CON_RAW_IN;        // Enable RAW input mode (pass-through ctrl chars)
  7. var socket = new Socket();
  8.  
  9. socket.debug=true;
  10.  
  11. if(!socket.bind()) {
  12.     printf("!bind error %d\r\n",socket.last_error);
  13.     exit();
  14. }
  15.  
  16. var addr=prompt("address");
  17. var port=Number(prompt("port"));
  18.  
  19. if(!socket.connect(addr,port)) {
  20.     printf("!connect error %d\r\n",socket.last_error);
  21.     exit();
  22. }
  23.  
  24. printf("\r\nConnected to %s:%d - Ctrl-] to abort\r\n",addr,port);
  25. console.pause();
  26.  
  27. while(socket.is_connected && client.socket.is_connected) {
  28.     if(socket.data_waiting) {
  29.         buf = socket.read();
  30.         client.socket.write(buf);
  31.         continue;
  32.     }
  33.     if((input=console.inkey())!="") {
  34.         if(input=="\x1d")    /* Ctrl-] */
  35.             break;
  36.         socket.write(input);
  37.         continue;
  38.     }
  39.     sleep(1);
  40. }
  41.  
  42. console.status &= ~CON_RAW_IN;        // Disable raw input mode
  43.  
  44. socket.debug=false;
  45.  
  46. print("\r\nEnd of socktest!\r\n");