【发布时间】:2010-09-17 15:35:17
【问题描述】:
我要写一个 TCP 服务器,客户端给我发送 XML 消息,我想知道是否会发生以下情况以及如何避免这种情况:
1) 客户端发送<cmd ...></cmd>
2)服务器正忙于做某事
3) 客户发送<cmd ...></cmd>
4) 服务器执行 recv() 并将字符串放入缓冲区
如果我的缓冲区不够大,缓冲区是否会被<cmd ...></cmd><cmd ...></cmd> 或更糟的<cmd ...></cmd><cmd ... 填充?
我想要的是 TCP 堆栈将消息分成与客户端发送它们的方式相同的部分。
可行吗?
【问题讨论】:
-
您是否担心缓冲区溢出?
-
这正是 TCP 所做的:确保从发送方传输的有序、有序、可靠的数据。 en.wikipedia.org/wiki/Transmission_Control_Protocol
标签: python networking tcp