【发布时间】:2014-12-04 09:51:46
【问题描述】:
我已经实现了一个通过 tcp 套接字发送和接收数据的服务。现在我的机器上有两个网络接口,我应该通过两个网络运行服务。
如何指定发送数据的网络接口? (使用 Boost::asio 或传统的 Berkeley 套接字,或使用系统调用动态更改内核的路由表)
【问题讨论】:
-
如果不指定任何内容会怎样?
-
@egur 从特定子网发送的请求的响应将被发送回错误的子网。
-
这强烈暗示了错误的网络配置。修复您的网络配置,您无需明确指定。 Monkeypatching 路由表是顺便说一句。由于内核的缓冲,这不是一个选项。
-
听起来是个糟糕的设置。如果禁用其中一个适配器会发生什么?另外,你应该在
super user上问这个,而不是堆栈溢出。 -
我也不懂。只要数据到达那里,为什么走哪条路线很重要?
标签: c++ c sockets network-programming boost-asio