Trouble with "Web server and client"
- Posted by Ted Fines <fines at macalester.edu> Aug 01, 2001
- 419 views
I am having some trouble with Pete Eberlein's "Web server and client" for Linux (http://www.rapideuphoria.com/webutils.zip). Since the code is just socket communications, it need not be used only for web access. Just change the port to 21 for telnet, 143 for imap, etc., and you should be able to communicate, right? That's what I thought, but I've run into a stumbling block. Take a look at Pete's sample code, which works fine: data = allocate(1) while 1 = c_func(read, {i, data, 1}) do reply &= peek(data) end while free(data) Now take a look at mine, which gets stuck for some reason: data=allocate(1) while 1 = c_func(read, {session, data, 1}) do reply &= peek(data) end while free(data) So I put in a couple lines to see what it being read: puts(1,sprintf("%s:%d-",{reply[length(reply)], reply[length(reply)]})) I am running this with trace on, by the way. In both cases, the last characters read are a 13 then a 10. But with Pete's code, the while loop gets exited, while with mine, it just gets stuck; the cursor stays on the 'end while' line and won't budge. I am accessing Port 143 (IMAP), as opposed to 80 (http), but other than that, there isn't any difference. Can anyone see what I'm doing wrong? I just don't see why my code hangs on the while loop. He has i declared as an integer, and data as an atom, while have session as an integer, and data as an atom. Any ideas? Thanks, Ted Fines Macalester College