メッセージをサーバーに送信し、応答を受信する単純なクライアントを作成したいと考えています。接続されているすべてのクライアントに同じメッセージをブロードキャストするサーバーがあり、telnet でテストしているときに動作します。Erlang シェルを使用して実行しようとすると、ソケットを閉じるまで gen_tcp:send はメッセージを送信しません。
これは私がやろうとしていることです:
{ok, S} = gen_tcp:connect(IP, Port, []).
gen_tcp:send(S, "Test").
flush().
Telnet クライアントを見ると、ソケットを閉じるとメッセージが送信されることがわかります。
Erlang バージョン:R14B01 (erts-5.8.2)
アップデート
hdima はコメントし、サーバーがストリームからメッセージを抽出する方法が間違っている可能性があると述べました。これは、クライアントが期待どおりに動作するように見える独自のサーバーを作成しようとした場合の原因のようです。サーバーのソースコードを取得してみます。サーバーはところで Java で書かれています。