gpt4 book ai didi

c++ - 为什么操作系统更改了我的数据包的分配出站端口?

转载 作者:行者123 更新时间:2023-12-02 10:38:20 25 4
gpt4 key购买 nike

我的C++软件正在使用特定的传出端口(根据IANA端口分配标准)为服务器创建syn数据包(使用boost)。
我选择出站端口用于内部目的。

由于某种原因,在多台计算机上检查了我的应用程序后,在一台特定的计算机上出现以下问题:

正在使用的传出端口不是我分配的端口-好像OS(Windows 10)正在更改它。

可能是什么问题?

以下是我用于分配特定输出端口的相关代码:

std::string exceptionFormat = "exception. Error message: ";
error_code socket_set_option_error_code;
socket->set_option(tcp::socket::reuse_address(true), socket_set_option_error_code);
if (socket_set_option_error_code) {
throw SocketException("Got socket reuse set option " + exceptionFormat + socket_set_option_error_code.message());
}
const auto source_endpoint = tcp::endpoint(tcp::v4(), source_port);
error_code bind_socket_error_code;
socket->bind(source_endpoint, bind_socket_error_code);
if (bind_socket_error_code) {
throw SocketException("Got socket bind " + exceptionFormat + bind_socket_error_code.message());
}

最佳答案

显然,计算机上安装了2个防病毒软件,其中一个已更改了传出端口(Kaspersky)。

关于c++ - 为什么操作系统更改了我的数据包的分配出站端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58679145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com