ClientSocket采用阻塞方式发送数据的问题,请教各位大虾!

CunningBoy 2003-09-26 04:09:56
我使用ClientSocket阻塞方式发送数据:

Buf0:= TWinSocketStream.Create(Form2.ClientSocket1.Socket,30000);

Buf0.WriteBuffer(Msg1, sizeof(Msg1));

if Buf0.WaitForData(30000) then
Buf0.ReadBuffer(RecMsg1, sizeof(RecMsg1));

Buf0.Free;

Buf1:= TWinSocketStream.Create(Form2.ClientSocket1.Socket,30000);

Buf1.WriteBuffer(Msg2, sizeof(Msg2));

if Buf1.WaitForData(30000) then
Buf1.ReadBuffer(RecMsg2, sizeof(RecMsg2));

Buf1.Free;

结果发现在服务器端接收时,Msg1和Msg2的内容混合在一起,请问这是为什么啊?如何解决?
...全文
44 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
CunningBoy 2003-09-26
  • 打赏
  • 举报
回复
请问如何将服务器端的缓冲区添满?或者如何解决该问题?
joky1981 2003-09-26
  • 打赏
  • 举报
回复
同意楼上
aiirii 2003-09-26
  • 打赏
  • 举报
回复
服務端的緩衝區未滿,所以兩次數據加在一起!
killme2008 2003-09-26
  • 打赏
  • 举报
回复
不懂
UP

1,594

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧