0
我已经创建了四个具有不同端口配置的套接字。使用select
函数从四个文件描述符中的一个中读取。但是我怎么知道我在哪个端口收到UDP数据包,我只有文件描述符,对吗?取决于我需要以不同方式处理收到的数据包的端口。 recv_from
函数填充struct sockaddr
,我可以从中读出数据包的源端口,但不读取目标端口。C /确定接收数据包的端口
在此先感谢您的帮助。
我已经创建了四个具有不同端口配置的套接字。使用select
函数从四个文件描述符中的一个中读取。但是我怎么知道我在哪个端口收到UDP数据包,我只有文件描述符,对吗?取决于我需要以不同方式处理收到的数据包的端口。 recv_from
函数填充struct sockaddr
,我可以从中读出数据包的源端口,但不读取目标端口。C /确定接收数据包的端口
在此先感谢您的帮助。
With select
您将所有四个套接字添加到要检查的集合中,并且当select
返回时,该集合将包含活动套接字。
您现在已经搞清楚两种方式从select
得到哪些具体插座/端口后面:
getsockname
)并与端口进行比较。我推荐第一个选择。