【发布时间】:2015-10-18 17:09:42
【问题描述】:
我正在使用示例客户端程序和服务器应用程序。客户端代码来自(https://github.com/nori0428/mod_websocket/blob/master/src/mod_websocket_socket.c#L19-L68),服务器程序来自(http://www.thegeekstuff.com/2011/12/c-socket-programming/)。除非我使用 SO_BINDTODEVICE 将服务器套接字绑定到 eth0 或 eth1 n/w 接口,否则客户端和套接字程序工作正常。如果我没有将服务器套接字绑定到特定的 n/w 接口,或者如果我将服务器套接字绑定到环回 ip,则客户端服务器程序正在工作。但如果我绑定到 eth0/eth1,pollhup 和 pollerr 会失败。当连接被拒绝时,errno 返回。但是服务器正在运行并在特定界面中侦听。 查询, 我需要限制服务器套接字仅接受来自特定接口的数据。我怎么做? 为什么如果我将服务器套接字绑定到 eth0/eth1,客户端会失败并拒绝连接,但是如果我将服务器套接字绑定到环回 ip,则客户端/服务器程序可以工作。
【问题讨论】:
标签: c sockets client-server