目前我遇到了问题,如果我发送一个缓冲区,它可能只是部分发送并返回发送的字节数。有没有办法设置一些选项或某事。这会阻止bsd套接字部分发送?
答案 0 :(得分:2)
通常无法使用SOCK_STREAM
套接字类型(如TCP)执行此操作。 SOCK_DATAGRAM
(对于IP,这意味着UDP)和SOCK_SEQPACKET
(对于IP,没有这样的东西)可以做你想要的,但有不同的限制。
无论如何,解决方案是你需要自己做数据缓冲和框架。也就是说,您需要在发送的流中包含带内信息,以允许收件人重建您想要的“数据包”边界。