标签: sockets tcp client server
我正在尝试创建一个能够确定每个接受的连接是本地连接还是远程连接的服务器。
服务器执行此操作:
本地客户端执行此操作:
远程客户端执行此操作:
当accept()返回时,服务器如何确定客户端是本地还是远程?
答案 0 :(得分:0)
服务器可以使用getpeername()获取已连接客户端的地址。或者使用accept()输出的地址。无论哪种方式,如果该地址是getifaddrs()(或等效函数,取决于您的平台)返回的地址之一,那么客户端是本地的;否则,它很遥远。
getpeername()
accept()
getifaddrs()