Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 处理套接字boost asio tcp ip-C++;套接字编程_C++_Sockets_Boost_Tcp_Ip - Fatal编程技术网

C++ 处理套接字boost asio tcp ip-C++;套接字编程

C++ 处理套接字boost asio tcp ip-C++;套接字编程,c++,sockets,boost,tcp,ip,C++,Sockets,Boost,Tcp,Ip,我正在使用以下代码成功建立连接、发送和接收消息。我想做的是以某种方式返回已经建立的连接。我假设我需要返回插座。 在撰写本主题之前,我阅读了一些相关主题,其中一些主题提到返回套接字不是一个好主意。这里建议使用shared。 不幸的是,我不熟悉这种类型的指针及其用法。你能帮我解决那个问题吗 try { boost::asio::io_service io_service; tcp::resolver resolver(io_service); tcp::resolver:

我正在使用以下代码成功建立连接、发送和接收消息。我想做的是以某种方式返回已经建立的连接。我假设我需要返回插座。 在撰写本主题之前,我阅读了一些相关主题,其中一些主题提到返回套接字不是一个好主意。这里建议使用shared。 不幸的是,我不熟悉这种类型的指针及其用法。你能帮我解决那个问题吗

 try {
    boost::asio::io_service io_service;

    tcp::resolver resolver(io_service);
    tcp::resolver::query query(server, port);
    tcp::resolver::iterator endpoint_iterator = resolver.resolve(query);

    my_socket = new tcp::socket(io_service);
    boost::system::error_code error = boost::asio::error::host_not_found;
    boost::asio::connect(*my_socket, endpoint_iterator);


    } catch (std::exception& e) {
    std::cerr << e.what() << std::endl;
}
试试看{
boost::asio::io_服务io_服务;
tcp::解析器解析器(io_服务);
tcp::resolver::query查询(服务器、端口);
tcp::resolver::iterator endpoint_iterator=resolver.resolve(查询);
my_socket=新tcp::socket(io_服务);
boost::system::error\u code error=boost::asio::error::host\u未找到;
boost::asio::connect(*my_socket,endpoint_迭代器);
}捕获(标准::异常&e){

如果您有c++11或更高版本,请忽略所有关于共享指针的废话并返回套接字。从c++11开始,asio io对象支持移动构造和移动分配。asio套接字非常轻-结构只包含两个指针。如果您有c++11或更高版本,请忽略所有这些关于共享指针的废话并返回套接字。从c++11开始,asio io对象支持移动构造和移动分配。asio套接字非常轻-结构包含两个指针,仅此而已。-Richard Hodges

如果您有c++11或更高版本,请忽略所有关于共享指针的废话并返回套接字。从c开始++11 asio io对象支持移动构造和移动分配。asio套接字非常轻-结构包含两个指针,仅此而已。如果您有c++11或更高版本,请忽略所有关于共享指针的废话并返回套接字。从c++11 asio对象开始,支持移动构造和移动分配。asio套接字这个结构包含两个指针,仅此而已。