我想编写一个简单的客户端,将消息发送到服务器并接收响应。我有一个服务器,它向所有连接的客户端广播相同的消息,并且在我使用 telnet 测试它时它正在工作。当我尝试使用 Erlang shell 执行此操作时, 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 编写的。