home *** CD-ROM | disk | FTP | other *** search
/ The Best of Windows 95.com 1996 September / WIN95_09962.iso / auto / cm95-10.zip / IFINGERB.WIL < prev    next >
Text File  |  1996-08-30  |  2KB  |  70 lines

  1. ;******** Sample Winsock app using blocking socket ********
  2. szTitle = "ClockMan Finger pgm"
  3.  
  4. ;Dial our host...
  5. hConn = SDialUp ("%param1%")
  6. if (!hConn)
  7.     nRet = SGetLastErr ()
  8.     Message (szTitle, "SDialUp error = %nRet%")
  9.     exit
  10. endif
  11.  
  12. szHost = "x"
  13. szCmd = "x"
  14. while (szHost<>"" && szCmd<>"")
  15.     ; Get a finger request...
  16.     szHost = AskLine (szTitle, "Enter the host to query:", "")
  17.     if (szHost=="")
  18.         goto HangUp
  19.     endif
  20.     szCmd = AskLine (szTitle, "Enter the finger request:", "")
  21.     if (szCmd=="")
  22.         goto HangUp
  23.     endif
  24.  
  25.     ; Create a socket...
  26.     hSock = SOpen (@SBlocking)
  27.     if (hSock==@SErrSocket)
  28.         Message (szTitle, "Couldn't create socket.")
  29.         goto HangUp
  30.     endif
  31.  
  32.     ; Connect it up...
  33.     nRet = SConnect (hSock, szHost, "finger")
  34.     if (nRet <> @TRUE)
  35.         nErr = SGetLastErr ()
  36.         Message (szTitle, "IConnect error: %nErr%")
  37.         goto CloseSocket
  38.     endif
  39.  
  40.     ; Send our Finger request...
  41.     nRet = SSendLine (hSock, szCmd)
  42.     if (nRet<>@SOK)
  43.         Message(szTitle, "Error %nRet% sending command.")
  44.         goto CloseSocket
  45.     endif
  46.  
  47.     ; Get all lines from Finger server till it closes the connection...
  48.     szResponse = ""
  49.     szLine = SRecvLine (hSock, 32767)
  50.     nRet = SGetLastErr()
  51.     while (nRet<>@SErrNoConn)
  52.         if (nRet == @SOK)
  53.             szResponse = StrCat (szResponse, szLine, @CRLF)
  54.         endif
  55.         Yield ()        
  56.         szLine = SRecvLine (hSock, 32767)
  57.         nRet = SGetLastErr()
  58.     endwhile
  59.  
  60.     Message (szTitle, szResponse)
  61.  
  62.     ; Close the socket...
  63.     :CloseSocket
  64.     nRet = SClose (hSock)
  65. endwhile
  66.  
  67. ; Hang up...
  68. :HangUp
  69. nRet = SHangUp (hConn)
  70.