gpt4 book ai didi

c++ - 辅助网络接口(interface)上的Linux C/C++ UDP服务器

转载 作者:太空宇宙 更新时间:2023-11-04 12:32:49 25 4
gpt4 key购买 nike

我在Ubuntu16.04.2LTS上接收UDP数据包时遇到问题,有两个不同的网络接口:
一。10.x.x.x IP以太网
2。wifi,支持192.168.x.x
数据包到达第二个接口(wlan0),我可以在wireshark/tcpdump上看到它们,但是udp服务器没有接收到数据包。
我还尝试绑定到wlan0接口(setsockopt(localSock, SOL_SOCKET, SO_BINDTODEVICE, ...,绑定到0.0.0.0,192.168.x.x,但没有成功。
而且,netcat -4 -u -l 0.0.0.0 <port>(以及192.168.x.x)不接收任何消息。
我唯一能让它工作的方法就是将默认网关改为192.168.x.y
路由表:

user@ubuntu-ws:/tmp$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.x.x.x 0.0.0.0 UG 0 0 0 eth0
default OpenWrt.lan 0.0.0.0 UG 600 0 0 wlan0
10.x.0.0 * 255.255.0.0 U 100 0 0 eth0
link-local * 255.255.0.0 U 1000 0 0 eth0
192.168.x.0 * 255.255.255.0 U 600 0 0 wlan0

这似乎与 Not able to receive UDP/IPv6 packets on secondary interface有关,但这次是在ipv4上。
任何提示都非常感谢。
谢谢

最佳答案

添加新的路由表解决了我的问题。
这篇文章帮助了我:https://www.thomas-krenn.com/en/wiki/Two_Default_Gateways_on_One_System

关于c++ - 辅助网络接口(interface)上的Linux C/C++ UDP服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42807692/

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