socket 10053错误怎样屏蔽?

IT_magnate 2006-04-04 04:59:38
用TServerSocket,当连接建立后,直接拔网线,弹出10053 错误,请问如何屏蔽??
...全文
982 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
IT_magnate 2006-04-11
  • 打赏
  • 举报
回复
揭贴了,摆了很久了!
IT_magnate 2006-04-11
  • 打赏
  • 举报
回复

void __fastcall TFrmMain::ServerClientError(TObject *Sender,
TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
{
ShowMessage("Ok");
ErrorCode = 0;
}
拔网线居然不弹出Ok
IT_magnate 2006-04-11
  • 打赏
  • 举报
回复
跟stNonBlocking和stThreadBlocking设置有没有关系呢?
netsys2 2006-04-11
  • 打赏
  • 举报
回复
绝对可以!

void __fastcall TFrmMain::ServerClientError(TObject *Sender,
TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
{
switch( ErrorCode )
{
case 10053: Socket->Close();
break;
}

ErrorCode = 0;
}
IT_magnate 2006-04-11
  • 打赏
  • 举报
回复
我用的是TServerSocket控件,而且不知道楼上的是不是拔网线时弹出来的?
OnClientError好象只对客户端出错有用喔!
Beginner_mine 2006-04-10
  • 打赏
  • 举报
回复
我用ErrorCode = 0;有用啊.
Beginner_mine 2006-04-08
  • 打赏
  • 举报
回复
我也遇到跟楼主同样的问题.关注中~~~~~~~~~
IT_magnate 2006-04-06
  • 打赏
  • 举报
回复
有什么方法捕获到10053错误的系统消息?
IT_magnate 2006-04-04
  • 打赏
  • 举报
回复
还有没有其他方法?
IT_magnate 2006-04-04
  • 打赏
  • 举报
回复
有没有其他方法?
alloutoflove 2006-04-04
  • 打赏
  • 举报
回复
在调试模式下看一下状况发生时会不会定位到具体行...
IT_magnate 2006-04-04
  • 打赏
  • 举报
回复

try{
Socket->ReceiveBuf(...);
}
catch(...)
{
ShowMessage("ok");
}
不弹出ok
还有拔掉TServerSocket端网线,OnError根本不触发!
alloutoflove 2006-04-04
  • 打赏
  • 举报
回复
确认一下拔网线时Socket正在执行什么操作( recv / send ), 在可能执行的操作处用try...catch捕获一下试.
IT_magnate 2006-04-04
  • 打赏
  • 举报
回复
用ErrorCode=0试了没用!

1,316

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧