我很好奇,因为 connect(2) 的手册页很短,而且它需要一个 struct sockaddr* ,无论如何它通常都会被强制转换..
问问题
57 次
2 回答
3
sockaddr_in
甚至in_addr
不相似。没有办法。那里不同,因为通常需要不止一个地址。例如,需要一个端口号来建立连接一个 IP 套接字。
于 2012-05-29T18:37:36.897 回答
1
调用的connect(2)
工作方式取决于您使用的套接字域(即作为第一个参数传递给 的值socket(2)
)。如果您使用的是AF_INET
协议系列,则connect
需要一个sockaddr_in
. 如果您正在使用该AF_INET6
协议,那么它需要一个sockaddr_in6
,其他协议系列有自己的地址结构。
无论您使用哪个协议系列,您都应该只struct sockaddr
在调用connect
或任何其他套接字函数时使用该系列的地址结构,强制转换为 a 。
于 2012-05-29T18:44:25.363 回答