在刚开始连接服务器时总是出现
windows socket error 10055 stack over flow !
经查内存空间不足,栈益出,怎么修改或者屏蔽!分数不够尽管说!

解决方案 »

  1.   

    clientsocket的OnError事件里:errorcode := 0;屏掉错误
      

  2.   

    在OnError中有返回的错误代码你看一下!
    10053://软件导致连接退出
    10054://连接被重置
    10004://操作被中止
    10013://访问被拒绝
    10014://地址错误
    10022://参数错误
    10024://打开太多的SOCKET
    10035://没有可以获取的资料
    10036://操作正在正行中
    10037://操作正在进行中
    10038://在一个非法的Socket对象上进行操作
    10039://目标地址缺失
    10040://数据太长
    10041://协议类型错误
    10042://错误的协议选项
    10043://协议不支持
    10044://Socket类型不支持
    10045://不支持指定操作
    10046://协议族不支持
    10047://所选用的地址族不在支持之列
    10048://地址已经被使用
    10049://设置地址失败
    10050://网络关闭
    10051://网络不可达
    10052://网络被重置
    10055://缓冲不足
    10056://Socket已被连接
    10057://Socket未连接
    10058://Socket已关闭
    10060://超时
    10061://连机被拒绝
    10064://主机已关机
    10065://找到路由
    10067://进程太多
    10109://类型找不到
    11001://主机找不到
      

  3.   

    看看大富翁的这个贴子,应该对你有帮助
    http://www.delphibbs.com/delphibbs/dispq.asp?lid=1142464
      

  4.   

    修改ScktComp.pasprocedure TCustomSocket.Error(Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
      var ErrorCode: Integer);
    begin
      if Assigned(FOnError) then FOnError(Self, Socket, ErrorEvent, ErrorCode);
    //加入以下代码
    //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      Socket.Close;
    //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    end;
      

  5.   

    呵呵。。
    我有时也常碰到这问题,好像是DELPHI的问题。关了DELPHI重启电脑好像就没事了。