home *** CD-ROM | disk | FTP | other *** search
/ AMIGA PD 1 / AMIGA-PD-1.iso / Programme_zum_Heft / Programmieren / Kurztests / ACE / Prgs / ACEports / server / client.b next >
Text File  |  1994-09-02  |  1KB  |  72 lines

  1. {*
  2. ** Client for Time/Date/Day Server.
  3. **
  4. ** Author: David J Benn
  5. **   Date: 31st August 1994,
  6. **       1st September 1994
  7. *}
  8.  
  9. LIBRARY "exec.library"
  10.  
  11. CONST requesting = -1&
  12.  
  13. DECLARE FUNCTION FindTask&(taskname$) LIBRARY exec 
  14. DECLARE SUB quit
  15.  
  16. window 1,"Type QUIT to exit",(0,100)-(250,200),7
  17.  
  18. '..open a channel to the server.
  19. message open #1,"time server","w"
  20. if err = 400 then 
  21.   print "Unable to connect to server."
  22.   print 
  23.   print "Press a key..."
  24.   while inkey$="":sleep:wend
  25.   quit
  26. end if
  27.  
  28. '..create a reply port for this client based upon process ID.
  29. client$ = "Client"+str$(FindTask(0))
  30. message open #2,client$,"r"
  31. if err = 400 then 
  32.   print "Unable to open a reply port."
  33.   quit
  34. end if
  35.  
  36. print client$;" ready."
  37.  
  38. WHILE requesting
  39.   '..get a client request.
  40.   input "> ",request$
  41.   request$ = UCASE$(request$)
  42.   if request$ <> "QUIT" then
  43.     message write #1,client$+"/"+request$
  44.   else
  45.     quit
  46.   end if
  47.  
  48.   '..wait for server to receive request.
  49.   if err=403 then
  50.     print "Error writing to server!"
  51.     quit
  52.   else
  53.     message wait #1
  54.   end if
  55.  
  56.   '..await server's reply.  
  57.   message wait #2
  58.   message read #2,info$
  59.   if ERR<>402 then print info$
  60. WEND
  61.  
  62. SUB quit
  63.   print "*** Client terminating..."
  64.   sleep for .75
  65.   message close #1
  66.   message close #2
  67.   window close 1
  68.   STOP
  69. END SUB
  70.  
  71. END
  72.