home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / rox.zip / roxsockc.cmd < prev    next >
OS/2 REXX Batch file  |  1994-01-05  |  3KB  |  118 lines

  1. /*------------------------------------------------------------------
  2.  * test_c.cmd :
  3.  *------------------------------------------------------------------
  4.  * 08-05-92 originally by Patrick J. Mueller
  5.  *------------------------------------------------------------------*/
  6.  
  7. parse arg server .
  8.  
  9. if RxFuncQuery("RoxLoadFuncs") then
  10.    do
  11.    rc = RxFuncAdd("RoxLoadFuncs","Rox","RoxLoadFuncs")
  12.    rc = RoxLoadFuncs()
  13.    end
  14.  
  15. rc = RoxLoad("socket.rox")
  16.  
  17. /*------------------------------------------------------------------
  18.  * choose port number
  19.  *------------------------------------------------------------------*/
  20. port = 1923
  21.  
  22. /*------------------------------------------------------------------
  23.  * get server
  24.  *------------------------------------------------------------------*/
  25. if (server = "") then
  26.    do
  27.    say "Server not specified."
  28.    exit
  29.    end
  30.  
  31. /*---------------------------------------------------------------
  32.  * open socket
  33.  *---------------------------------------------------------------*/
  34. sock = RoxCreate("socket")
  35. if (sock = -1) then
  36.    do
  37.    say "Error on SockSocket:" .errno(sock)
  38.    exit
  39.    end
  40.  
  41. /*------------------------------------------------------------------
  42.  * catch breaks
  43.  *------------------------------------------------------------------*/
  44. signal on halt
  45.  
  46. /*---------------------------------------------------------------
  47.  * connect socket
  48.  *---------------------------------------------------------------*/
  49. rc = .connectServer(sock,server,port)
  50. if (rc = -1) then
  51.    do
  52.    say "Error connecting to" server ":" .errno(sock)
  53.    exit
  54.    end
  55.  
  56. /*------------------------------------------------------------------
  57.  * get some data to send over
  58.  *------------------------------------------------------------------*/
  59. data = random(10000,99999)
  60.  
  61. say "Sending  '"data"' to  " server
  62.  
  63. /*------------------------------------------------------------------
  64.  * send the data over
  65.  *------------------------------------------------------------------*/
  66. rc = time("r")
  67. rc = .sendLine(sock,data)
  68. elapsed = time("e")
  69.  
  70. if (rc = -1) then
  71.    do
  72.    say "Error on SockSend:" .errno(sock)
  73.    exit
  74.    end
  75.  
  76. /*------------------------------------------------------------------
  77.  * receive the result from the server
  78.  *------------------------------------------------------------------*/
  79. rc = time("r")
  80. line = .recvLine(sock)
  81. elapsed = elapsed + time("e")
  82.  
  83. /*------------------------------------------------------------------
  84.  * print results
  85.  *------------------------------------------------------------------*/
  86. if (reverse(line) <> data) then
  87.    say "Unexpected results from the server: '"line"'"
  88.  
  89. else
  90.    do
  91.    say "Received '"line"' from" server "(successful!!)"
  92.    say "Elapsed network transit time:" elapsed "seconds"
  93.    end
  94.  
  95. /*------------------------------------------------------------------
  96.  * close socket (and catch signals)
  97.  *------------------------------------------------------------------*/
  98. halt:
  99.  
  100. rc = RoxDestroy(sock)
  101.  
  102. exit
  103.  
  104. /*------------------------------------------------------------------
  105.  * some simple help
  106.  *------------------------------------------------------------------*/
  107. Usage: procedure
  108.    parse source . . me .
  109.  
  110.    say "usage:"
  111.    say "   " me "<server>"
  112.    say "is used to run the rxSock tester"
  113.    say
  114.    say "where:"
  115.    say "   <server> - tcp/ip host name running test_s (default = current host)"
  116.  
  117.    exit
  118.