我想在Go中创建一个服务器和客户端,我已经设法与服务器和客户端进行通信.但我遇到的问题是golang中的TCP读取是非阻塞的.我想知道的是,golang中的读取是否可能像C中的读取一样阻塞.谢谢
编辑:
这是服务器的源代码:
func Init_tcp() *net.TCPListener {
laddr, err := net.ResolveTCPAddr("tcp", ":4243")
if err != nil {
log.Fatal(err)
}
tcp, err := net.ListenTCP("tcp", laddr)
if err != nil {
log.Fatal(err)
}
return tcp
}
func main() {
tcp := Init_tcp()
conn, _ := tcp.Accept()
data := make([]byte, 512)
conn.SetNoDelay(false)
for {
conn.Read(data)
fmt.Println(data)
}
}
Run Code Online (Sandbox Code Playgroud)
和我的客户:
func Init_tcp() *net.TCPConn {
laddr, err := net.ResolveTCPAddr("tcp", "127.0.0.1:4243")
if err != nil {
log.Fatal(err)
}
tcp, err := net.DialTCP("tcp", nil, laddr)
if err …Run Code Online (Sandbox Code Playgroud)