2012-07-07 62 views
2

我正在linux中构建一个只通过某个接口发送数据的应用程序。我可以使用原始套接字来做到这一点,也许使用套接字选项功能?使用原始套接字时,我们可以选择特定的接口吗?

+2

你是什么意思,当你说“强制”?无缓冲? – 2012-07-07 16:18:43

+0

如果我们有两个接口(比如wifi和以太网),我需要我的数据包通过其中的一个(比如说wifi)。而不管。 – 2012-07-07 16:32:21

+0

所以你说它通过wifi和其他通过以太网发送一些数据包是不可接受的? – japreiss 2012-07-07 16:34:20

回答

1

当你绑定一个套接字,你可以通过IP来完成。但希望你的接口有不同的IP地址。如果是这样,你可以先致电getifaddrs并找到你想要的接口地址。

0

我们可以使用以下命令将已经打开的套接字绑定到给定的接口。

  1. 在套接字上使用绑定。
  2. 使用setsockopt。使用选项SO_BINDTODEVICE。
相关问题