这与:Sending packets over UDP from Windows
有关我使用Boost ASIO制作简单的UDP客户端。当我在Ubuntu上运行客户端时,它可以正确地向服务器(监听器)发送数据。但是,当我在Windows上运行它时,服务器无法正确解析数据。
因为我无权访问服务器代码。我无法确定那里发生了什么。
我确信它不是网络(例如防火墙)问题,因为我在Windows主机内部尝试了Ubuntu VM上的代码并且它有效。
我的问题是:我应该以不同方式编码从Windows发送的邮件吗? (我不确定,但是像UTF-8,UTF-16差异......也许......)
发送代码:
socket_.send_to(boost::asio::buffer(message, sizeof(*message)), endpoint_);
其中message
是指向服务器期望的某个结构的指针。 end_point_
是正确的。我打印了它,地址和端口都是正确的。