gpt4 book ai didi

sockets - Javamail不会在超时时完全关闭套接字

转载 作者:行者123 更新时间:2023-12-03 12:01:36 27 4
gpt4 key购买 nike

通过javamail发送邮件时,将打开smtp服务器的套接字。现在,我们得到了这样的情况:邮件服务器的连接断开,而连接仍处于 Activity 状态,而javamail等待服务器(垃圾邮件扫描花费了几秒钟)。因此,TCP连接从未真正关闭过,客户端死锁了。

因此,我们决定使用有效的javamails超时-客户端在指定的时间后引发异常。但是,tcp连接未正确关闭(netstat -np仍将连接显示为“ESTABLISHED”)。只有在我调用System.gc()之后,套接字才会关闭。

这是一个问题,因为在抛出任何OOM-Exception之前保证了gc(),但是在达到FD-limit之前没有保证...

可以以某种方式规避它,或者这是javamail中的错误吗?

受影响的系统:Linux(debian lenny),Sun JDK 1.6.0.20(带有-XXUseSSE = 3),javamail 1.4.3

最佳答案

异常不会导致连接被关闭,您必须调用Transport.close()
你自己。

关于sockets - Javamail不会在超时时完全关闭套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4030941/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com