windows – 为什么TClientSocket.OnRead事件为单个服务器发送触

所以,我有一个TClientSocket,它必须在一个OnRead事件中接收超过10KB的数据.但是当事件被触发时,它只获得8KB的数据,然后事件再次触发其余的数据. 为什么会这样? 解决方法 因为TCP是流协议,而不是基于消息的协议.您必须接收已发送的任何内容,将其合并到一个

所以,我有一个TClientSocket,它必须在一个OnRead事件中接收超过10KB的数据.但是当事件被触发时,它只获得8KB的数据,然后事件再次触发其余的数据.

为什么会这样?

解决方法

因为TCP是流协议,而不是基于消息的协议.您必须接收已发送的任何内容,将其合并到一个数据流,然后根据使用的协议解析流.

关于作者: dawei

【声明】:石家庄站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐