UDP无法分配请求的地址

时间:2013-08-07 12:07:29

标签: c++ sockets udp datagram poco-libraries

我想打开一个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代码它不起作用。

亲切的问候

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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