我正在处理 IMAP 客户端(更准确地说,使用 JavaMail)的实现,它使用 IMAP IDLE() 命令直接从服务器获取新电子邮件通知,而无需轮询它。
这是我的问题:发送此空闲命令后我是否应该执行其他操作(即再次发送 IMAP IDLE(),仅询问消息数)以保持连接处于 Activity 状态?
换句话说:即使我之前发送了idle()命令,该服务器是否可以关闭当前的IMAP连接?
我在Stackoverflow和其他网站上发现了很多问题/一些代码,但我仍然不满意。希望有 IMAP 协议(protocol)方面的专家。
谢谢!
最佳答案
服务器可能不会断开您的连接,但永远不要依赖套接字的稳定性,连接可能会由于多种不同的原因而消失,您需要优雅地拦截异常并尝试再次连接,可能是在增加超时之后.
例如,KMail 认为连接是世界上继金字塔之后最持久的东西,因此在暂停我的笔记本电脑并移动到其他地方后,我必须重新启动它才能使其再次连接到 IMAP 服务器。
关于java - 发送 IMAP 空闲命令后是否需要执行其他操作才能保持连接处于 Activity 状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13626292/