Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ UDP无法分配请求的地址_C++_Sockets_Udp_Datagram_Poco Libraries - Fatal编程技术网

C++ UDP无法分配请求的地址

C++ UDP无法分配请求的地址,c++,sockets,udp,datagram,poco-libraries,C++,Sockets,Udp,Datagram,Poco Libraries,我想打开一个Datagramsocket并向我的网络设备发送一些数据包。 但是,当我使用以下cood时,会抛出一个异常,表示: 无法分配请求的地址: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()); 这里

我想打开一个Datagramsocket并向我的网络设备发送一些数据包。 但是,当我使用以下cood时,会抛出一个异常,表示:
无法分配请求的地址: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代码它就不能工作了


亲切问候

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


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

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

我明白了,那么如何指定目标设备的IP:端口呢?我不熟悉Poco库。检查文档/示例。此答案是正确的。您可以绑定到本地IP地址,但这不是必需的,如果需要UDP“已连接”语义,则必须将()连接到远程IP地址。