gpt4 book ai didi

xml - 通过 TCP 套接字发送可变长度数据

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

我的应用程序需要通过 tcp 套接字发送/接收 xml 数据。无法包含任何类型的包含消息长度的固定长度 header 。据我了解,通过 tcp 传输的数据可以像这样到达接收方。

  1. <消息

  2. ge><内容

  3. >嗨

但不知何故,这永远不会发生,这意味着通过一次 Send() 操作发送的数据(假设它小于或等于套接字缓冲区大小)总是通过一次 Receive() 操作完全读取。如果端点的套接字缓冲区足够大并且从未超过,是否可能出现上述情况?

最佳答案

是的,这是可能的。

你真的不能假设一侧的 send() 操作中的缓冲区边界与另一端相应的 recv() 所看到的缓冲区边界匹配,即使大多数情况下看起来是这样.

例如,如果您要发送大量数据,接收操作系统可能会调用 TCP 流量控制,而发送操作系统将只能发送缓冲区的一部分。或者可能底层网络有数据包大小限制,需要拆分,或者......

关于xml - 通过 TCP 套接字发送可变长度数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3660993/

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