POCO库:可以设置UDP源端口吗?

时间:2012-09-09 07:15:32

标签: c++ udp poco-libraries

我正在使用POCO c ++库,我很茫然。发送UDP数据报时有没有办法设置源端口?它看起来总是设置为目标端口,但这肯定是可能的。

我的代码看起来像这样:

Poco::Net::SocketAddress bcast("255.255.255.255", m_txPort);
DatagramSocket dgs  = DatagramSocket(bcast,false);
dgs.setBroadcast(true);
dgs.sendTo(data,dataLength, broad);

如果做不到这一点,我可能会切换到Boost - 我认为提升可以做到这一点,对吗?

1 个答案:

答案 0 :(得分:1)

应该工作得很好;您将带有源地址和端口的SocketAddress传递到DatagramSocket构造函数中,该构造函数指出要绑定的本地地址;按照你的例子;

Poco::Net::SocketAddress sourceAddress("255.255.255.255", source_port);
DatagramSocket dgs(source_address,false);

然后将目标地址和端口的单独socketaddress传递给SendTo

Poco::Net::SocketAddress destAddress(destination_address, destination_port);
dgs.setBroadcast(true);
dgs.sendTo(data,dataLength, destAddress);