私は、データを受信するラケット上にネットワークサーバを作成しようとしています。何かのデータを受信します。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)))
ブリリアント!どうもありがとうございます! –