0

「C」言語での SMTP および POP3 アクセスに libetpan-1.0 オープン ソース (メール ライブラリのもの) を使用しています。SMTP と POP3 の SSL 接続に問題があります。SSL 接続を確立して接続に失敗すると、ソケットが CLOSE_WAIT 状態のままになります。これにより、長時間の後にメモリ リークが発生します。コマンド「netstat -an」の出力は次のとおりです。このアプリケーションを ARM ボードで実行しています。誰が私に何をすべきか教えてもらえますか? 前もって感謝します。

Here is my code that i am trying. 
pSmtp = mailsmtp_new(0, NULL); (Create new object)
if (SMTP_NO_ERROR != mailsmtp_ssl_connect(pSmtp, "smtp.gmail.com", 465))
{
    mailsmtp_free(pSmtp);
}
else
{
    // Send Mail
}
So doesn't my work is over after i call function "mailsmtp_free(pSmtp)" or 
i have do other stuff to close connection.


    ~#netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:23              0.0.0.0:*               LISTEN      
tcp        1      0 192.168.51.151:4928     98.139.211.125:465      CLOSE_WAIT  
tcp        1      0 192.168.51.151:4934     98.139.211.125:465      CLOSE_WAIT  
tcp        1      0 192.168.51.151:2883     98.139.211.125:465      CLOSE_WAIT   
tcp        1      0 192.168.51.151:4139     98.138.105.21:465       CLOSE_WAIT  
tcp        1      0 192.168.51.151:4140     98.138.105.21:465       CLOSE_WAIT  
tcp        0      0 192.168.51.151:80       192.168.151.101:2745    TIME_WAIT   
tcp        1      0 192.168.51.151:4142     98.138.105.21:465       CLOSE_WAIT  
tcp        1      0 192.168.51.151:4143     98.138.105.21:465       CLOSE_WAIT  
tcp        1      0 192.168.51.151:3132     98.138.105.21:465       CLOSE_WAIT  
tcp        1      0 192.168.51.151:3133     98.138.105.21:465       CLOSE_WAIT  
tcp        1      0 192.168.51.151:3134     98.138.105.21:465       CLOSE_WAIT  
tcp        1      0 192.168.51.151:3135     98.138.105.21:465       CLOSE_WAIT  
tcp        1      0 192.168.51.151:3131     98.138.105.21:465       CLOSE_WAIT  
tcp        1      0 192.168.51.151:2115     98.138.105.21:465       CLOSE_WAIT  
tcp        1      0 192.168.51.151:3136     98.138.105.21:465       CLOSE_WAIT  
tcp        1      0 192.168.51.151:3137     98.138.105.21:465       CLOSE_WAIT  
tcp        0      0 192.168.51.151:80       192.168.151.101:2761    TIME_WAIT   
tcp        0      0 192.168.51.151:80       192.168.151.101:2757    TIME_WAIT   
tcp        0      0 192.168.51.151:80       192.168.151.101:2753    TIME_WAIT   
tcp        1      0 192.168.51.151:4083     63.250.193.228:465      CLOSE_WAIT  
tcp        1      0 192.168.51.151:4082     63.250.193.228:465      CLOSE_WAIT  
tcp        1      0 192.168.51.151:4081     63.250.193.228:465      CLOSE_WAIT  
tcp        1      0 192.168.51.151:4080     63.250.193.228:465      CLOSE_WAIT  
tcp        1      0 192.168.51.151:4085     63.250.193.228:465      CLOSE_WAIT  
tcp        1      0 192.168.51.151:4084     63.250.193.228:465      CLOSE_WAIT  
tcp        1      0 192.168.51.151:4075     63.250.193.228:465      CLOSE_WAIT  
tcp        1      0 192.168.51.151:4074     63.250.193.228:465      CLOSE_WAIT  
tcp        1      0 192.168.51.151:4073     63.250.193.228:465      CLOSE_WAIT  
tcp        1      0 192.168.51.151:4072     63.250.193.228:465      CLOSE_WAIT  
tcp        1      0 192.168.51.151:4079     63.250.193.228:465      CLOSE_WAIT  
tcp        1      0 192.168.51.151:4078     63.250.193.228:465      CLOSE_WAIT  
tcp        1      0 192.168.51.151:4077     63.250.193.228:465      CLOSE_WAIT  
tcp        1      0 192.168.51.151:4076     63.250.193.228:465      CLOSE_WAIT  
tcp        1      0 192.168.51.151:2493     98.138.105.21:465       CLOSE_WAIT  
tcp        1      0 192.168.51.151:2492     98.138.105.21:465       CLOSE_WAIT  
tcp        1      0 192.168.51.151:2495     98.138.105.21:465       CLOSE_WAIT  
tcp        1      0 192.168.51.151:2496     98.138.105.21:465       CLOSE_WAIT  
tcp        0      0 192.168.51.151:80       192.168.51.40:52577     TIME_WAIT   
tcp        0      0 192.168.51.151:80       192.168.51.40:52581     TIME_WAIT   
tcp        0      0 192.168.51.151:80       192.168.51.40:52585     TIME_WAIT    
tcp        0      0 192.168.51.151:80       192.168.51.40:52565     TIME_WAIT   
tcp        1      0 192.168.51.151:3978     63.250.193.228:465      CLOSE_WAIT  
tcp        0      0 192.168.51.151:80       192.168.51.40:52569     TIME_WAIT   
tcp        0      0 192.168.51.151:80       192.168.51.40:52573     TIME_WAIT   
tcp        0      0 192.168.51.151:80       192.168.51.40:52609     TIME_WAIT   
tcp        0      0 192.168.51.151:80       192.168.151.101:2748    TIME_WAIT   
tcp        1      0 192.168.51.151:2743     98.139.211.125:465      CLOSE_WAIT  
tcp        1      0 192.168.51.151:2742     98.139.211.125:465      CLOSE_WAIT  
tcp        1      0 192.168.51.151:2744     98.139.211.125:465      CLOSE_WAIT  
tcp       94      0 192.168.51.151:3650     74.125.129.108:587      CLOSE_WAIT  
tcp       95      0 192.168.51.151:3655     74.125.129.108:587      CLOSE_WAIT  
tcp        1      0 192.168.51.151:2250     63.250.193.228:465      CLOSE_WAIT  
tcp        0      0 192.168.51.151:80       192.168.51.40:52578     TIME_WAIT   
tcp        0      0 192.168.51.151:80       192.168.51.40:52582     TIME_WAIT   
tcp       95      0 192.168.51.151:4618     74.125.129.108:587      CLOSE_WAIT  
tcp        0      0 192.168.51.151:80       192.168.51.40:52586     TIME_WAIT   
tcp       95      0 192.168.51.151:4615     74.125.129.108:587      CLOSE_WAIT  
tcp        1      0 192.168.51.151:4353     98.139.211.125:465      CLOSE_WAIT  
tcp        0      0 192.168.51.151:80       192.168.51.40:52590     TIME_WAIT   
tcp        0      0 192.168.51.151:80       192.168.51.40:52594     TIME_WAIT   
tcp        1      0 192.168.51.151:2769     98.138.105.21:465       CLOSE_WAIT  
tcp        0      0 192.168.51.151:80       192.168.51.40:52598     TIME_WAIT 
udp        0      0 0.0.0.0:2048            0.0.0.0:*                           
udp        0      0 0.0.0.0:2049            0.0.0.0:*                           
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node Path
unix  6      [ ]         DGRAM                    1262   /dev/log
unix  2      [ ]         DGRAM                    1993   
unix  2      [ ]         DGRAM                    1513   
unix  2      [ ]         DGRAM                    1511   
unix  2      [ ]         DGRAM                    1492   
4

1 に答える 1

0

あなたの側でそれらを閉じる必要があります。

CLOSE_WAITリモート側が接続を閉じたが、あなたの側は閉じていないことを意味します。

ここで受け入れられた回答を参照してください

于 2013-09-21T06:25:32.230 に答える