请你帮助我好吗?我有一个与 gen_tcp 发送功能有关的问题。我一直在尝试从我的 erlang 服务器向我的 flash 客户端发送一些元组,大约 10-15 个项目,这些元组被解码为 amf 对象。
case get_tcp:send(Socket, Msg) of
ok -> io:format("sent~n");
{erorr, Err} -> io:format("~w~n", [Err])
end
没有错误,但 Flash 客户端仅接收到大约 8-11 项的全部数据。套接字选项是 [binary, {active, true}, {reuseaddr, true}]。我检查了我使用客户端的网络 - 发送的数据包被分成两个片段,大的和小的。大的是数据包的第一个片段,而小的是下一个。bigs 的数量与发送的消息数量相同,但 smalls 的数量要少得多,大约是 flash 客户端接收到的消息数量。
只有当我快速发送数据时它才会重现,如果我慢慢发送数据似乎没问题。有谁知道为什么会这样?这将非常有帮助。