我正在尝试连接到本地主机端口,但出现以下错误,我该如何解决此错误?
"在抛出 'boost::exception_detail::clone_impl >' 实例后调用终止 什么():连接:连接被拒绝“
#include <boost/asio.hpp>
#include <iostream>
int main() {
boost::system::error_code ec;
using namespace boost::asio;
io_service svc;
ip::tcp::socket sock(svc);
sock.connect({ {}, 3000 }); // localhost port
std::string response;
do {
char buf[2048];
size_t bytes_transferred = sock.receive(buffer(buf), {}, ec);
if (!ec) response.append(buf, buf + bytes_transferred);
} while (!ec);
// print and exit
std::cout << response <<std::endl;
}
最佳答案
你无法连接到一个没有任何监听的端口。这就是 Connection Refused 的意思:“这里没有任何东西可以响应您的请求。”
您必须运行或使用其他服务器才能使 connect() 成功。
如果您使用的是类 unix 系统,您可能可以使用像 socat 这样的工具快速拼凑一个服务来监听您可以连接到的端口。
关于c++ - 如何修复 boost/asio c++ 异常错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53090285/