如何修复Boost / Asio C ++异常错误?

时间:2018-10-31 18:59:29

标签: c++

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

”引发'boost :: exception_detail :: clone_impl>'实例后终止调用   what():connect:连接被拒绝“

#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;
}

1 个答案:

答案 0 :(得分:1)

您无法在没有任何监听的情况下连接到端口。这就是Connection Refused的意思:“这里没有任何内容可以响应您的请求。”

您必须运行或使用其他服务器才能使connect()成功。

如果您使用的是类似Unix的系统,则可以使用socat之类的工具来快速组合服务,以监听随后可以连接的端口。