这是为了调试目的。
测试代码的短发送/短接收处理部分是否正常工作...
有没有办法强制 Windows 生成短发送/接收,即使是从套接字读取/写入少量字节?
我更喜欢按进程执行此操作,但如果不能按进程执行此操作,我准备测试 Firefox/Outlook 代码如何处理此问题。 :)
Ofc 我知道我可以手动添加巨大的消息来强制执行此操作,但我正在处理具有多层内容的庞大旧代码库,因此即使添加一个简单的充满随机字节的巨大消息也很重要。 :)
最佳答案
您可以使用 setsockopt()
更改 recv()
和 send()
使用的内部缓冲区的大小recv()
缓冲区的标志 SO_RCVBUF
和 send()
缓冲区的标志 SO_SNDBUF
。
你可以找到一个例子here .
编辑:您可能想要禁用 Nagle 算法。在这种情况下,请查看标记 的答案。
EDIT2: 正如 alk 在评论中所说,在调用 accept()
或 连接()
。
关于c++ - 有没有办法强制 Windows 在套接字调用上产生短读/写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18444367/