idhttp post 出现exception class EIdSocketError with message 'Socket Error # 10054的解决办法(捕捉异常,防止程序挂掉

Posted 朝闻道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了idhttp post 出现exception class EIdSocketError with message 'Socket Error # 10054的解决办法(捕捉异常,防止程序挂掉相关的知识,希望对你有一定的参考价值。


    由于项目需要。需要向一个地址提交数据。提交的次数很频繁,但是程序经常raised exception class EIdSocketError with message ‘Socket Error # 10054
Connection reset by peer.‘ 造成程序异常,停止工作。
    于是找到以下解决办法。Exception捕获不到该异常。需要用EIdException来捕获异常。
    IDE环境: Delphi XE3 Version 17.0.4625.53395 
    INDY :IDE自带。

  

[delphi] view plain copy
 
    1.   v_sparm :TStringList;  
    2. begin  
    3.   Result:=‘0‘;  
    4.   v_sparm := TStringList.Create;  
    5.   ……  
    6.   
    7.   Form1.idhtp1.ConnectTimeout := 15000;  
    8.   Form1.idhtp1.ReadTimeout:=15000;  
    9.   ……  
    10.   try  
    11.     ……  
    12.     try  
    13.       Result:=Form1.idhtp1.Post(URL,v_sparm);  
    14.     except  
    15.       on e: EIdException do  //用EIdException捕获Socket Error # 10054 Connection reset by peer  
    16.       begin  
    17.         WriteLog(e.Message); //处理异常信息。防止程序挂掉。  
    18.       end;  
    19.     end;  
    20.   finally  
    21.   
    22.   end;  
    23. end;  

http://blog.csdn.net/rznice/article/details/8512321

以上是关于idhttp post 出现exception class EIdSocketError with message 'Socket Error # 10054的解决办法(捕捉异常,防止程序挂掉的主要内容,如果未能解决你的问题,请参考以下文章

Delphi IDHTTP控件:GET/POST 请求

Delphi IDHTTP控件:GET/POST 请求

idHttp 中GET POST应用

idHTTP.Post

idhttp.post方式 调用datasnap rest 远程方法

delphi使用idhttp.post登录时网页使用gbk编码,但是idhttp自动将数据用utf-8编码。