I don't understand why I can't access an established socket connection via my browser or telnet? I'm trying to build a simple socket-based webserver.
server.lsp
Code: Select all
#!/usr/bin/env newlisp
;; SET IP and PORT
(set 'ip "127.0.0.2")
(set 'port 8080)
;; BUILD UP SOCKET
(set 'connection (net-listen port ip "multi"))
(if connection
(println "LispIO webserver started on " ip ":" port)
(println (net-error))
)
;; ENTER LOOP
(while (not (net-error))
(set 'msg (net-receive-from connection 1024))
;(println "->" msg)
(set 'response [text]
"HTTP/1.0 200 OK\r\n"
"Server: LispIO\r\n"
"Content-Type: text/html\r\n"
"\r\n"
[/text]
)
(net-send-to (nth 1 msg) (nth 2 msg) response connection)
(println "Hello World")
)
(exit)
client.lsp
Code: Select all
#!/usr/bin/newlisp
(set 'socket (net-listen 8081 "" "multi"))
(if (not socket) (println (net-error)))
(while (not (net-error))
(print "Enter something -> ")
(net-send-to "localhost" 8080 (read-line) socket)
(net-receive socket buff 255)
(println "=> " buff)
)
Code: Select all
Enter something -> hello
=>
"HTTP/1.0 200 OK\r\n"
"Server: LispIO\r\n"
"Content-Type: text/html\r\n"
"\r\n"
Thanks for help.
-Hilti