[Go] 测试go连接imap的tcp长连接
发布时间:2021-05-21 06:46:28 所属栏目:大数据 来源: https://www.jb51.cc
导读:连接上imap服务后,什么都不操作,我测试大约5分钟会被服务端断掉,测试代码如下 imapClient,_ := client.Dial( " imap.sina.net:143 " ) for { time .Sleep( time .Second * 1 ) } 为了保持住这条连接,每隔10秒列取一下邮件夹列表,这样就可以一直保持住连
连接上imap服务后,什么都不操作,我测试大约5分钟会被服务端断掉,测试代码如下 imapClient,_ := client.Dial("imap.sina.net:143") for { time.Sleep(time.Second * 1) }
while true;do clear;date;netstat -altupn|grep 143;sleep 1;done tcpdump -i enp0s25 port 143 -vv 可以看到每隔10秒会有数据传输 完整测试代码 package main import ( fmt" time" github.com/emersion/go-imapgithub.com/emersion/go-imap/client ) func main() { imapClient,_ := client.Dial() err := imapClient.Login(shihan2@sopans.com",密码fmt.Println(err) 10) mailBoxes := make(chan *imap.MailBoxInfo,1)">20) go func() { imapClient.List("",1)">*,mailBoxes) }() } } ? (编辑:北几岛) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |