Я пытаюсь создать сетевой сервер на Racket, который получает данные и делает что-то с данными, которые он получает.Почему мой сетевой сервер на Racket не получает данные более одного раза?
Проблема, с которой я столкнулся, заключается в том, что сервер получает только что-то от клиента, если клиент повторно запускается (нажатие кнопки запуска). То, что я действительно хочу сделать, - это ввести (например) (написать «тест») на клиентскую консоль столько раз, сколько я хочу, и чтобы сервер мог ее получить и обработать данные в функции в файле сервера ,
Вот моя последняя попытка попытаться заставить его работать. Я использую код эхо-сервера. Но до сих пор не повезло.
(define listener (tcp-listen 3961))
(define (echo-server)
(define-values (in out) (tcp-accept listener))
(thread (lambda()
(print (read in))
(close-output-port out)))
(echo-server))
(echo-server)
Клиент:
(define-values (in out)
(tcp-connect "localhost" 3961))
(define sendtoserver
(lambda()
(write "test" out)
(flush-output out)))
Блестящий! Спасибо огромное! –