我正在尝试与响应消息的 TCP 服务器通信:package mainimport ( "net" "log")func handleErr(err error) { if err != nil { log.Fatal(err) }}func main() { // connect host := "1.2.3.4:5678" conn, err := net.Dial("tcp", host) handleErr(err) defer conn.Close() // write to socket message := "Test\n" conn.Write([]byte(message)) // read from socket // (assume response is 'Test\n') reply := make([]byte, 1024) conn.Read(reply) log.Println(string(reply))}我想要完成的是向另一端的套接字服务器发送消息,等待响应然后处理它。我似乎无法正确同步这些写入/读取操作以正确计时 - 现在读取操作似乎阻止了写入;我假设这是由于 Go 的异步性质造成的。这样做的惯用方法是什么?是 goroutines 吗?for { .. }读者的连续循环?一种sync.Wait机制?帮助表示赞赏。谢谢。
- 1 回答
- 0 关注
- 212 浏览
添加回答
举报
0/150
提交
取消