首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MailKit ConnectAsync在没有互联网连接的情况下冻结

MailKit ConnectAsync在没有互联网连接的情况下冻结
EN

Stack Overflow用户
提问于 2021-05-10 21:57:01
回答 1查看 70关注 0票数 0

我用MailKit有点累了,但是如果尝试在没有互联网连接的情况下连接ImapClient.ConnectAsync(...) (插头/插头),那么ConnectAsync就会冻结。

我正在尝试下面的示例- ImapIdleExample:https://github.com/jstedfast/MailKit/blob/master/Documentation/Examples/ImapIdleExample.cs

在第103行async Task WaitForNewMessagesAsync ()中,我在9分钟内断开了互联网连接,9分钟后我得到了一个IOException (总是导致客户端断开连接)。

在第64行中,the client is not connected client.IsConnected为false,则执行以下行,第67行await client.ConnectAsync (host, port, sslOptions, cancel.Token)

就是这样,没有更多的事情发生。另外,当我重新连接到互联网时,ConnectAsync仍然处于冻结状态。

我正在连接端口993和SecureSocketOptions SslOnConnect。ImapClient.Timeout值为120000,但在此时间之后,仍处于冻结状态。是否存在另一个超时或其他情况?

在现有的互联网连接下,一切都工作得很好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-27 14:04:54

来自ImapIdleExample的示例运行良好,但如果我断开计算机与互联网的连接,则会得到一个未处理的异常:

System.Net.Sockets.SocketException with SocketErrorCode = HostNotFound

我已经在async Task WaitForNewMessagesAsync ()async Task FetchMessageSummariesAsync (bool print)中更新了catch块

代码语言:javascript
复制
catch (Exception exception)
{
    await Task.Delay(new TimeSpan(0, 1, 0), CancelToken.Token);
    await ReconnectAsync();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67471835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档