C++ 处理套接字boost asio tcp ip-C++;套接字编程
我正在使用以下代码成功建立连接、发送和接收消息。我想做的是以某种方式返回已经建立的连接。我假设我需要返回插座。 在撰写本主题之前,我阅读了一些相关主题,其中一些主题提到返回套接字不是一个好主意。这里建议使用shared。 不幸的是,我不熟悉这种类型的指针及其用法。你能帮我解决那个问题吗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:
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套接字这个结构包含两个指针,仅此而已。