X
xiaofi2001
Unregistered / Unconfirmed
GUEST, unregistred user!
事实上根本无法执行到提示消息那个语句
服务器端直接用RECV函数就能判断是否断开,但是客户端不行。是不是RECV对服务器和客户端要求不一样的。我不用控件写的。
procedure RecvThread(Data: pointer); stdcall;
var
RecvBuf : array[0..100] of char;
begin
while(recv(s,recvBuf,SizeOf(RecvBuf),0) <> SOCKET_ERROR) do
begin
Form1.Memo1.Lines.Add(RecvBuf);
ZeroMemory(@RecvBuf,SizeOf(RecvBuf));
end;
EndThread(0);
closesocket(s);
MessageBox(Application.Handle, PChar('与服务器失去连接!'), '提示', MB_OK or MB_ApplModal or MB_ICONINFORMATION or MB_TOPMOST);
WSACleanup();
end;
服务器端直接用RECV函数就能判断是否断开,但是客户端不行。是不是RECV对服务器和客户端要求不一样的。我不用控件写的。
procedure RecvThread(Data: pointer); stdcall;
var
RecvBuf : array[0..100] of char;
begin
while(recv(s,recvBuf,SizeOf(RecvBuf),0) <> SOCKET_ERROR) do
begin
Form1.Memo1.Lines.Add(RecvBuf);
ZeroMemory(@RecvBuf,SizeOf(RecvBuf));
end;
EndThread(0);
closesocket(s);
MessageBox(Application.Handle, PChar('与服务器失去连接!'), '提示', MB_OK or MB_ApplModal or MB_ICONINFORMATION or MB_TOPMOST);
WSACleanup();
end;