2012-10-25 117 views
2

我在我的Linux机器上配置了2个以太网接口。 可以说接口A和接口B.在定义的以太网接口上发送数据包

我在写一个tcp客户端套接字程序,需要在定义的接口上发送数据包。

例如。

./client -intf接口A/B

如果输入是接口A,那么客户端仅具有经由接口A和反之亦然发送数据包。

任何人都可以提供一些关于如何实现这一点的提示。

在此先感谢!

回答

5

您可以使用bind()你叫connect()之前,您的客户端套接字绑定到特定的IP地址。您可以使用getifaddrs()列出接口及其关联的IP地址。

+0

你好,感谢您的输入。你能否提供更多的信息。 – Saravana

+0

@Saravana:调用'getifaddrs()'来查找从接口名称到IP地址的映射。使用要使用的接口的IP地址和端口0创建一个'sockaddr_in' /'sockaddr_in6'结构,并在调用'connect()'之前将其传递给套接字上的'bind()'。 – caf

+0

非常感谢你的咖啡。所以在绑定中,我们绑定到IP接口的IP地址。但我们应该在哪里提供实际需要连接的服务器IP? – Saravana

相关问题