有没有人知道如何在go编程语言中创建由WSASocket()函数返回的SOCKET?
使用普通的syscall.Socket类型syscall.Bind导致: WSAENOTSOCK - 错误10038 - 尝试对非套接字的操作进行操作。指定的套接字参数是指文件,而不是套接字。
由于
答案 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