如何更改正在运行的Boost :: ASIO udp套接字的端口

时间:2019-06-04 00:56:38

标签: c++ c++14 boost-asio

Boost ASIO库为套接字port()提供了一种local_endpoint获取/设置方法,但是当我在工作队列运行时尝试切换到其他端口时,调用socket.local_endpoint().port(1234)呼叫不会更改端口。有人有经验吗?

基于通过TFTP接收的选项,我需要切换服务器和客户端进行通信的端口。

1 个答案:

答案 0 :(得分:0)

回答原因

  

socket.local_endpoint()。port(1234)调用不会更改端口。

据我所知,basic_socket*_endpoint()的实现返回endpoint_type对象的副本,而不是引用,因此您尝试进行的更改不会影响socket对象。