Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search

[REBOL] Reading tcp ports in rebol line by line

From: al:bri:xtra at: 9-Nov-2000 17:55

Paul asked:
> what was the bug in tcp ports?
The bug in rebol was two things: 1 A empty port in line mode doesn't produce none, it just waits for data. 2 An empty port always has a rebol newline character in it's buffer. I found this function for a server to be the best (so far) to read all of the headers of a http request from a client. Web: function [ Port [integer!] Root [file!] /Print-Request ][ Request Line Filename Error Disarmed ][ Listen: open/lines join tcp://: Port Stop: false while [not Stop] [ Request: make string! 1000 wait Listen Connection: first Listen if error? Error: try [ while [not empty? Line: Read-Connection] [ append Request rejoin [Line newline] ] Service Request Root :Read-Connection if Print-Request [print ["Request:" mold Request] none] ][ Disarmed: disarm Error either all [ Disarmed/type = 'access Disarmed/id = 'timeout ][ Stop: true ][ Error ] ] close Connection ] close Listen ] ] Andrew Martin ICQ: 26227169