ServerSocket1接收问题(50分)

  • 主题发起人 主题发起人 涛子_1966
  • 开始时间 开始时间

涛子_1966

Unregistered / Unconfirmed
GUEST, unregistred user!
我的代码如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
query1.First;
while not query1.Eof do
begin
ClientSocket1.Socket.SendText(query1xm.AsString);
query1.Next;
end;
end;
----------------------------
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
memo1.Lines.Add(socket.ReceiveText);
end;
为什么memo1里面出现的是:"张三李四王二"(一行)
我期望得到的是(三行):
张三
李四
王二

请问是何道理?
 
多个小包会合并成一个大包的
一个大包在传输过程中也是可能分解成多个小包的
所以,你在发送端可以每发一次延时一个时间并且Apllication.ProcessMessages
这样并不一定100%管用,在慢速的网上还是可能给合并
最好的办法是你自己加上分割符号,在接收端处理
 
接受答案了.
 

Similar threads

I
回复
0
查看
439
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部