【发布时间】:2011-11-13 06:17:24
【问题描述】:
我想编写一个简单的客户端,向服务器发送消息并接收响应。我有一个服务器,它向所有连接的客户端广播相同的消息,并且在我使用 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 编写的。
【问题讨论】:
-
看起来服务器不知道如何从流中提取消息。能发下服务器源代码吗?
-
@hdima:不抱歉,我没有服务器代码。
标签: java sockets erlang gen-tcp