在侦听端口X的服务器收到来自客户端的请求后,它是否可以从其他进程和带有sendto调用的套接字发送响应。请注意,客户端还通过sendto(服务器地址)调用发送请求。
以下是步骤:
客户端和服务器都知道彼此的IP地址和端口号。
我注意到,当服务器从其他进程发送响应时,客户端不会收到响应。否则就是这样。
答案 0 :(得分:1)
这可以做,但有一些重要的警告。
客户端必须绑定套接字并使用sendto()
和recvfrom()
而不是connect()
使用send()
和{{1} }}。这允许它从任何地方接收传入的数据包,只要它们被定向到recv()
正在读取的IP /端口。
如果客户端和服务器之间的路径中存在防火墙或NAT,则可能会阻止响应,因为发送IP /端口与客户端最初发送其请求的IP /端口不匹配。