亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

golang UDP服務器的奇怪行為

golang UDP服務器的奇怪行為

Go
森林海 2021-06-30 16:01:22
我在 go 中編寫了一個簡單的 UDP 服務器。當我這樣做時,go run udp.go它會打印我發送給它的所有包裹。但是在運行時,go run udp.go > out它會在客戶端停止時停止傳遞stdout給out文件??蛻舳耸前l送 10k 請求的簡單程序。所以在文件中我有大約 50% 的已發送包裹。當我再次運行客戶端時,out文件再次增長,直到客戶端腳本完成。服務器代碼:package mainimport (  "net"  "fmt")func main() {  addr, _ := net.ResolveUDPAddr("udp", ":2000")  sock, _ := net.ListenUDP("udp", addr)  i := 0  for {    i++    buf := make([]byte, 1024)    rlen, _, err := sock.ReadFromUDP(buf)    if err != nil {      fmt.Println(err)    }    fmt.Println(string(buf[0:rlen]))    fmt.Println(i)    //go handlePacket(buf, rlen)  }}這是客戶端代碼:package mainimport (  "net"  "fmt")func main() {  num := 0  for i := 0; i < 100; i++ {    for j := 0; j < 100; j++ {      num++      con, _ := net.Dial("udp", "127.0.0.1:2000")      fmt.Println(num)      buf := []byte("bla bla bla I am the packet")      _, err := con.Write(buf)      if err != nil {        fmt.Println(err)      }    }  }}
查看完整描述

2 回答

?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

嘗試在寫語句后同步標準輸出。

os.Stdout.Sync()


查看完整回答
反對 回復 2021-07-05
  • 2 回答
  • 0 關注
  • 258 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號