1

我想打开一个 Datagramsocket 并向我的网络设备发送一些数据包。但是,当我使用以下 cood 时,会抛出异常: Cannot Assign Requested Address: 192.168.1.114:1900

Poco::Net::SocketAddress sa("192.168.1.114",1900);
Poco::Net::DatagramSocket dgs(sa);
std::string text = "hello";
dgs.sendBytes(text.data(),text.size());

这里有什么问题。我还使用 udp 测试软件来测试接收端是否能够在此端口上接收 udp 数据包并且它可以工作,但是使用上面的 poco 代码它不起作用。

亲切的问候

4

2 回答 2

2

我不知道Poco,但您必须bind发送到本地地址和端口,然后您sendto会将数据包该本地地址:端口发送到远程地址和端口。

于 2013-08-07T13:08:28.940 回答
0

检查文档。可能sa应该是本地地址,而远程地址将在其他地方指定。

UDP 没有连接的概念,因此没有理由将套接字绑定到单个远程地址。UDP 套接字可以向/从任何远程套接字发送和接收。

于 2013-08-07T12:19:24.040 回答