2 回答

TA貢獻1876條經驗 獲得超5個贊
您的代碼似乎沒有任何嚴重錯誤,所以我猜測錯誤出在服務器端。
如果您在端口 5432 上創建本地 TCP 服務器,您可以對此進行測試。
嘗試運行以下服務器代碼,然后針對它測試您的客戶端代碼。它只是將所有接收到的數據回顯到標準輸出。
package main
import (
"io"
"log"
"net"
"os"
)
func main() {
l, err := net.Listen("tcp", "localhost:5432")
if err != nil {
log.Fatal(err)
}
defer l.Close()
for {
conn, err := l.Accept()
if err != nil {
log.Fatal(err)
}
go func(c net.Conn) {
defer c.Close()
io.Copy(os.Stdout, c)
}(conn)
}
}
按下回車鍵后,您應該會看到發送到客戶端的每一行都被打印出來(沒有換行符)。

TA貢獻1875條經驗 獲得超5個贊
問題出在服務器端。
func handleConnection(conn net.Conn) {
// I didn't put it in for loop
message, err := bufio.NewReader(conn).ReadString('\n')
}
- 2 回答
- 0 關注
- 295 瀏覽
添加回答
舉報