連接上imap服務后,什么都不操作,我測驗大約5分鐘會被服務端斷掉,測驗代碼如下
imapClient, _ := client.Dial("imap.sina.net:143") for { time.Sleep(time.Second * 1) }
為了保持住這條連接,每隔10秒列取一下郵件夾串列,這樣就可以一直保持住連接了,開三個視窗,一個視窗不停的netstat查看tcp連接情況,一個視窗運行代碼,一個視窗打開tcpdump監聽埠查看資料請求
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-imap" "github.com/emersion/go-imap/client" ) func main() { imapClient, _ := client.Dial("imap.sina.net:143") err := imapClient.Login("[email protected]", "密碼") fmt.Println(err) for { time.Sleep(time.Second * 10) mailboxes := make(chan *imap.MailboxInfo, 20) go func() { imapClient.List("", "*", mailboxes) }() } }
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/108992.html
標籤:PHP
上一篇:PHP fastcgi_finish_request 方法
下一篇:virtualenvwrapper.sh報錯: There was a problem running the initialization hooks.解決
