loop(Socket) ->
case gen_tcp:recv(Socket, 0) of
{ok, Bin} ->
io:format("Bin=~p~n", [Bin]),
loop(Socket);
{error, Reason} ->
io:format("Reason=~p~n", [Reason])
end.
{env, [
{tcp_listen_options, [binary, {active, false}, {packet, 0}, {reuseaddr, true}, {backlog, 256}]},
{port, 5678}
]}
我是否设置packet
为0或1,2,4,总要得到以下:gen_tcp:recv收到的二进制文件是什么?
调用gen_tcp:发送(S1,term_to_binary( “1”))。输出< < 131,107,0,1,49 >>
gen_tcp:send(S1,term_to_binary(a))。输出< < 131,100,0,1,97 >>
gen_tcp:send(S1,term_to_binary(“abcd”))。输出< < 131,107,0,4,97,98,99,100 >>
gen_tcp:send(S1,term_to_binary(1))。输出< < 131,97,1 >>
我的问题是:
1.什么是< < 131107 >>?
2.发送1而不是“1”,并获得没有包长度的二进制,如“131,107,0,1”,为什么?
谢谢你的参考。我会深入阅读。 – goofansu
哦,是的,它表示:“分布在跨节点边界发送消息时隐式地做到了这一点。” – goofansu