最近用idudpserver写了一个服务程序,在服务器上运行十天八天后,客户端发UDP包过去的时候,客户端会报connection reset by peer的错误。重启这个服务程序也没有用,需要重启Windows才能解决问题,然后再运行个几天,又会重复出现这个问题。不知道怎样才能避免该问题?

解决方案 »

  1.   

    仅供参考吧
    1 http://topic.csdn.net/t/20050527/14/4040133.html
    2 http://cy03wqh.blog.163.com/blog/static/367803022010117456837/
      

  2.   

    通信服务端,使用控件的确容易遇到这样的问题
    直接使用api会好一点
      

  3.   

    我也用,但好象没有出现过这种现象,楼主的服务器操作系统是WIN2003? 我的是WIN2K
      

  4.   

    要在IdUDPServer的OnUDPRead事件里写
    procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
      ABinding: TIdSocketHandle);
    var
      aUDP:TUDP   ;
    begin
    Adata.ReadBuffer(aUDP,Adata.Size);//这样收包
    end;
      

  5.   


    最终还是直接用API重写搞定问题