我将udp单播数据包从窗口发送到linux。
我已经编写了简单的应用程序udp客户端和srever使用boost。
我在windows上运行客户端(udp发送方),在linux上运行服务器(udp接收方)。
我的客户端正在发送udp数据包,但是linux上的udp接收器没有接收到这些数据包。但是我可以在wireshark上看到udp数据包(它运行在我的linux上)。
我测试了端口和ipaddress,它们都是正确的。
下面是运行在linux上的代码。
如果我同时在windows上运行(客户端和服务器),它可以正常工作。
using boost::asio::ip::udp;
class u
我正在使用的UDP服务器有一个奇怪的问题。收到的第一个udp数据包没有关于数据包来源的信息。后续的udp数据包看起来都没有问题,并且正确地显示了接收该数据包的ip地址。我不知道是什么导致了这种行为,可能是一些愚蠢的错误,也可能是一些晦涩难懂的bug。我正在运行Debian的Linux机器上使用。
fd_set master;
fd_set read_fds;
int fdmax;
int i;
int bytes_sent;
int bytes_recv;
socklen_t addr_len;
struct sockaddr_storage their_addr;
// provides