1

Datagramsocket を開き、いくつかのパケットをネットワーク デバイスに送信したいと考えています。ただし、次のコードを使用すると、次のように例外がスローされます。 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

0

ドキュメントを確認してください。おそらくsaローカル アドレスである必要があり、リモート アドレスは別の場所で指定する必要があります。

UDP には接続の概念がないため、ソケットを単一のリモート アドレスにバインドする理由はありません。UDP ソケットは、任意のリモート ソケットとの間で送受信できます。

于 2013-08-07T12:19:24.040 に答える