gpt4 book ai didi

sockets - Erlang gen_tcp 连接问题

转载 作者:可可西里 更新时间:2023-11-01 02:31:55 25 4
gpt4 key购买 nike

简单的问题...

这段代码..

client() ->
SomeHostInNet = "localhost" % to make it runnable on one machine
{ok, Sock} = gen_tcp:connect(SomeHostInNet, 5678,
[binary, {packet, 0}]),
ok = gen_tcp:send(Sock, "Some Data"),
ok = gen_tcp:close(Sock).

很清楚,只是我不太明白 [binary, {packet,0}] 是什么意思 ?有人愿意解释一下吗?

疯狂的塞布

最佳答案

根据 gen_tcp:connect文档:

  • [binary, {packet, 0}] 是传递给连接函数的选项列表。
  • binary 表示在套接字上发送/接收的数据是二进制格式(相对于列表格式。
  • {packet, 0} 有点困惑,文档中似乎没有涵盖它。在与 Freenode 上的#erlang 中的一些知识渊博的小伙子交谈后,我发现 packet 选项指定了多少字节表示数据包长度。在幕后,长度从数据包中剥离,erlang 只向您发送没有长度的数据包。因此 {packet, 0} 与没有长度的原始数据包相同,除了数据的接收者之外的所有内容都被处理。有关这方面的更多信息,请查看 inet:setopts .

希望对您有所帮助。

关于sockets - Erlang gen_tcp 连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5773154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com