如何在go编程语言中使用WSASocket函数创建套接字?

时间:2011-11-02 20:51:53

标签: go

有没有人知道如何在go编程语言中创建由WSASocket()函数返回的SOCKET?

使用普通的syscall.Socket类型syscall.Bind导致: WSAENOTSOCK - 错误10038 - 尝试对非套接字的操作进行操作。指定的套接字参数是指文件,而不是套接字。

由于

1 个答案:

答案 0 :(得分:1)

我们不使用这样的低级API,我们使用net.Dial。离。

func main() {
        var (
                host          = "127.0.0.1"
                port          = "9998"
                remote        = host + ":" + port
                msg    string = "test"
        )

        con, error := net.Dial("tcp4", remote)
        if error != nil {
                fmt.Printf("Host not found: %s\n", error)
                os.Exit(1)
        } else {
                defer con.Close()
        }

        in, error := con.Write([]byte(msg))
        if error != nil {
                fmt.Printf("Error sending data: %s, in: %d\n", error, in)
                os.Exit(2)
        }

        fmt.Println("Connection OK")

}

或者,您可以跟踪代码$ GOROOT / src / pkg / net / dial.go