我刚刚开始进入套接字编程。我不明白如何通过声明sockaddr_storage然后创建一个套接字listen(),所有传入的连接都会自动存储在sockaddr_storage中。如果你申报5 sockaddr_storage怎么办?
答案 0 :(得分:3)
sockaddr_storage究竟是如何工作的?
sockaddr_storage
是一种足以容纳任何支持协议的套接字地址的类型(IPv4为sockaddr_in
,IPv6为sockaddr_in6
,UNIX域为sockaddr_un
,{ {1}}用于蓝牙等。)
我不明白如何通过声明sockaddr_storage然后创建一个套接字listen(),所有传入的连接都会自动存储在sockaddr_storage中。
那是因为他们没有。
您必须将sockaddr_bth
传递给使用套接字地址填充它的函数,例如sockaddr_storage
,accept()
,getsockname()
等。
如果您申报5 sockaddr_storage怎么办?
然后你有5个getpeername()
类型的变量。什么都不会发生。这就像你问“如果宣布5个整数怎么办?”你仍然需要以某种方式填充它们。
答案 1 :(得分:0)