我想打开一个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代码它不起作用。
亲切的问候
答案 0 :(得分:1)
我不知道Poco
但您必须bind
到本地地址和端口,然后您的sendto
会发送您的数据包从那个本地地址:端口到远程地址和端口。
答案 1 :(得分:0)
检查文档。可能sa
应该是本地地址,远程地址应在其他地方指定。
UDP没有连接的概念,因此没有理由将套接字绑定到单个远程地址。 UDP套接字可以向/从任何远程套接字发送和接收。