请大侠们指点一下!我用TClientSocket和TserverSocket编写的程序常常发生 Asynchronous Socket error

  • 主题发起人 主题发起人 Wenwenload
  • 开始时间 开始时间
W

Wenwenload

Unregistered / Unconfirmed
GUEST, unregistred user!
请大侠们指点一下!我用TClientSocket和TserverSocket编写的程序常常发生 Asynchronous Socket error 10053 这样有错误!请问一下是怎么回事?急急急急!(100分)<br />请大侠们指点一下!我用TClientSocket和TserverSocket编写的程序常常发生(要服务器端) Asynchronous Socket error 10053 这样有错误!请问一下是怎么回事?怎样解决这样的问题,最好给给地段源代码?急急急急!
 
用 SysErrorMessage(10053);
看看是什么错误!
再改!
 
{====================出错处理=====================================}
procedure TForm1.ServerClientError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
//Error Conditions
Case ErrorCode Of
10054:MemoLog.lines.add('错误代码10054,一个连接被远方重新设置');
10053:MemoChuCuo10053.Lines.Add('10053 退出的ID:'+Inttostr(Socket.SocketHandle));
Else
MemoLog.Lines.Add('Error Happen, Error Code:'+InttoStr(errorCode));
End;
ErrorCode:=0; //加这一句可以避免出现错误提示框
end;
 
在OnClientError事件中,这样的做法只对非阻塞式Socket有效。
如果是阻塞式Socket,可以在调用发送方法时通过try..except..end来解决
 
我是刚学DELPHI的新手,我想问一下,那个tclientsocket哪有下载及怎么安装。
 
我昨天也碰到了和你一模一樣的問題。
我的原因是因為﹕TClientSocket設定的是非阻塞模式﹐我卻嘗試連續發送信息給兩台機器。我在想你的是不是也是因為在同一時間里有兩個連線請求造成的呢?
我的處理方法就是改成阻塞模式﹐用線程進行讀寫操作。

 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部