小编jyb*_*man的帖子

Go TCP读取是非阻塞的

我想在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)

c tcp go

8
推荐指数
1
解决办法
9472
查看次数

标签 统计

c ×1

go ×1

tcp ×1