请问我的socket为什么只能一次收到值?(145分)

  • 主题发起人 主题发起人 vecent
  • 开始时间 开始时间
V

vecent

Unregistered / Unconfirmed
GUEST, unregistred user!
客户端发出“stop”指令
procedure TForm1.Button7Click(Sender: TObject);
begin
panel5.Color:=clmoneygreen;
Panel5.Caption:='请求通话';
realaudio1.SetMute(true);
if clientsocket1.Socket.Connected then
clientsocket1.Socket.SendText ('stop');
showmessage('the single is sent!');
end;
服务器端却接收不到“stop”,但是可以收到“yes”指令。
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var temp_str:string;
begin
temp_str:=socket.ReceiveText;
if (temp_str='yes') then
Panel2.Color:=clred;
if (temp_str='stop')then
begin
showmessage('i have got !');
panel2.Color:=clmoneygreen;
panel2.Caption:='通话结束';
end;
end;
请高手指点,小弟有145分相赠,因为这样我就能毕业了。
 
你的帖子意思没有说清楚,你的YES是那来的?
TCP本来就是如此,他会把小的数据包累计成一个大包发送,以提高效率..
如果想避免这个问题,发送一个数据以后,就等待接受方的回音,接受方
返回接受到数据包再发下一个包.
 
这个问题呀,我以前做到类似的程序,来QQ:584740。
 
多人接受答案了。
 
后退
顶部