gpt4 book ai didi

ruby - Ruby 中 TCP Socket.send 的第二个参数是什么?

转载 作者:数据小太阳 更新时间:2023-10-29 08:42:09 25 4
gpt4 key购买 nike

我正在使用这一行通过 Ruby (1.8.7) 套接字发送消息:

@@socket.send login_message, 0

(这很好用)

第二个参数是做什么用的?我在 Ruby API 文档中找不到发送方法...

我首先想到的是消息的某种 C 风格长度。这就是我使用 login_message.length 作为第二个参数的原因。这行得通,但我遇到了一个奇怪的行为:

当第二个参数是奇数时一切正常。如果它是偶数,则最后一个字符在另一端接收时会丢失(另一端是带有 C 套接字的 C++ 程序)。我用 Wireshark 检查了网络流量,发现数据包看起来不错。所有的数据都是完整的。为什么我收到后最后一个字符丢失了?

谢谢伦纳特

最佳答案

这是标志参数,与 send() 的最后一个参数相同系统调用。通常它应该是 0,但可能类似于 Socket::MSG_OOB(发送带外数据)。对于 Ruby 1.9,这记录在 BasicSocket 下.

关于ruby - Ruby 中 TCP Socket.send 的第二个参数是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1147557/

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