c++ - 如何修复 boost/asio c++ 异常错误?

标签 c++

我正在尝试连接到本地主机端口,但出现以下错误,我该如何解决此错误?

"在抛出 '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/

相关文章:

c++ - new 的内存是否必须来自 operator new?

c++ - `*dynamic_cast<T*>(...)` 是什么意思?

c++ - 返回数组的一维?

c# - 在 C# 中使用 pragma intrinsic(sqrt, pow)?

c++ - Win32 内存映射文件与 CRT fopen/fread 的性能

c++ - STM32H7 SPI DMA传输,一直处于忙传输状态,HAL_SPI_STATE_BUSY_TX

c++ - 无法从 `QSortFilterProxyModel` 派生

c++ - WSO2 C++ 客户端应用程序在调用 Environment::initialize 方法时崩溃

c++ - C++将对象强制转换为其原始类型

c++ - C++ 异常会阻止函数被内联吗?