Really embarrassed I can't figure out what's going on here, but I just
spent the last two hours banging my head against this going nowhere.
I'm trying to create a simple echo server and client in Racket.
This is the server:
(define (hello_listen port)
(define listener (tcp-listen port))
(define (loop)
(define-values (in out) (tcp-accept listener))
(thread (lambda ()
(copy-port in out)
(close-output-port out)))
(loop))
(loop))
And this is the client:
(define (hello_socket port)
(define-values (in out) (tcp-connect "localhost" port))
(write "hello socket world\n" out)
(display (read in)))
The client does not receive any text back, and just hangs on the read.
When I write a simple client in Python however, the behavior is fine:
>>> import socket
>>> s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
>>> s.connect(('localhost', 9999))
>>> s.send("hi")
2
>>> s.recv(500)
'hi'
What am I missing here in the Racket client code?
--
You received this message because you are subscribed to the Google Groups
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.