CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  网络通信/分布式开发

ClientSocket Open的问题

楼主borgvardt(maximius)2005-05-10 13:23:08 在 Delphi / 网络通信/分布式开发 提问

我假设不断的请求Open一个Server连接,这个Server是不存在的  
  那么,时间长了就会报  
  Windows   socket   error:   由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。   (10055),   on   API   'connect'  
  这个错。  
   
  如何避免这个错的出现,使得Client可以继续尝试Open? 问题点数:20、回复次数:8Top

1 楼gzmhero(hihihi)回复于 2005-05-10 14:00:55 得分 4

procedure   TTcpTrans.ClientSocketError(Sender:   TObject;     Socket:   TCustomWinSocket;   ErrorEvent:   TErrorEvent;     var   ErrorCode:   Integer);  
  begin  
          ErrorCode:=0;  
          Socket.Close;  
          m_ConnectStatus:=csError;  
  end;  
  Top

2 楼borgvardt(maximius)回复于 2005-05-10 15:20:16 得分 0

楼上估计没理解我的意思  
  我提到的错误是通过  
                  try  
                                  ClientSocket1.Close;  
                                  ClientSocket1.Open;  
                                  inc(i);  
                                  Label1.Caption   :=   Inttostr(i);  
                  except  
                                  on   e:exception   do  
                                  begin  
                                                  edit1.Text   :=   e.Message;  
                                  end;  
                  end;  
  补捉到的,而不是ErrorCode中体现的Top

3 楼borgvardt(maximius)回复于 2005-05-11 10:27:25 得分 0

顶一下,高手帮忙Top

4 楼llin528(00)回复于 2005-05-11 11:19:59 得分 4

这个问题好或,顶Top

5 楼jadeluo(秀峰)回复于 2005-05-11 12:45:55 得分 4

1.   使用二楼的代码来捕捉Socket的错误,   而不应该用楼主的try...except...end  
   
  2.   不要不断地请求Open一个Server连接,   而应该在前一次请求失败之后再一次请求Top

6 楼borgvardt(maximius)回复于 2005-05-13 15:51:02 得分 0

问楼上,如何判断请求失败?Top

7 楼jadeluo(秀峰)回复于 2005-05-14 08:22:56 得分 4

"请求失败"也就是出现ClientSocketError事件。  
   
  如果你的Client端想在断开连接之后还要尝试与Server连接的话,"请求失败"还应包括ClientSocketDisconnect事件。Top

8 楼DevilSniffer(戴眼睛的恶魔)回复于 2005-05-14 22:12:46 得分 4

在ClientSocketError事件里面添加     Socket.Close;     或许能避免你所说的情况!!Top

相关问题

  • ClientSocket的Open()方法
  • ClientSocket->Open()提示"Asynchronous socket error 10061"怎样捕获这个错误?
  • ServerSocket/ClientSocket
  • 請問clientsocket的active & open屬性有何分別?什麼情況下使用???
  • clientsocket问题,急
  • 关于serversocket ,clientsocket
  • ServerSocket and ClientSocket的问题...
  • delphi7的ClientSocket和ServerSocket
  • 关于ServerSocket, ClientSocket的问题
  • 关于ClientSocket错误捉

关键词

  • 连接
  • socket
  • server
  • clientsocketerror
  • clientsocket
  • 请求
  • errorcode
  • 失败
  • 事件
  • open

得分解答快速导航

  • 帖主:borgvardt
  • gzmhero
  • llin528
  • jadeluo
  • jadeluo
  • DevilSniffer

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo