gpt4 book ai didi

c - 在 TCP 上手动选择一个接口(interface)来发送数据

转载 作者:太空宇宙 更新时间:2023-11-04 11:42:42 24 4
gpt4 key购买 nike

我有一个只监听特定接口(interface)的 TCP 服务器。我希望在 accept() 调用之后,如果传入连接来自 xxx.xxx.xxx.0 子网,则数据应通过 intf1,否则应发送数据通过我的服务器正在监听的 intf2。

两个接口(interface)具有相同的路由设置和优先级。所有网络都可以从这两个界面访问。

一种解决方法是通过具有更高优先级的 intf1 添加一条新路由,但我希望这是基于代码的决定。

代码是在 Linux 上用纯 C 语言编写的。

最佳答案

虽然它不完全是您正在寻找的纯 C 选项,但也许您可以使用 iptables在收到 accept() 时进行规则。

(尽管快速查看/lib/iptables 表明您可能很幸运)

我正在设想一个规则,将所有 tcp 流量重定向到您指定的设备。您甚至可以让规则知道套接字状态,这样您就不需要在 accept() 之后指定接口(interface)。


所有这一切都适用,直到我发现方案中的明显缺陷,拍拍我的头说“D'oh!”

关于c - 在 TCP 上手动选择一个接口(interface)来发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/119745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com