我正在嘗試編寫(xiě)一個(gè)基于套接字的簡(jiǎn)單go服務(wù)器。我只是想知道如何連接。下面的內(nèi)容知道什么時(shí)候停止閱讀。(注意:這不是我的代碼,例如,我從Go中的Unix套接字復(fù)制了它)package mainimport ( "log" "net")func echoServer(c net.Conn) { for { buf := make([]byte, 512) nr, err := c.Read(buf) if err != nil { return } data := buf[0:nr] println("Server got:", string(data)) _, err = c.Write(data) if err != nil { log.Fatal("Write: ", err) } }}func main() { l, err := net.Listen("unix", "/tmp/echo.sock") if err != nil { log.Fatal("listen error:", err) } for { fd, err := l.Accept() if err != nil { log.Fatal("accept error:", err) } go echoServer(fd) } }是EOF角色還是其他?如果有人可以指向我指向官方go docs鏈接,這將非常有幫助。謝謝。
2 回答

慕的地6264312
TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
當(dāng)其基礎(chǔ)實(shí)現(xiàn)遇到任何錯(cuò)誤時(shí),它將停止讀取。錯(cuò)誤可能是實(shí)際的I / O錯(cuò)誤,或者可能是操作系統(tǒng)信號(hào)連接被io.EOF關(guān)閉,或者可能是超時(shí),依此類推。
- 2 回答
- 0 關(guān)注
- 769 瀏覽
添加回答
舉報(bào)
0/150
提交
取消