请问在服务器强制或异常退出时,客户端如果判断服务器已经断开?直接用API写的。附代码。(20分)

  • 主题发起人 主题发起人 xiaofi2001
  • 开始时间 开始时间
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;
 
先看看Socket相关资料,可以结VCL的组件分析。
直接用API,要先选好IO模型。
 
接受答案了.
 
后退
顶部