繁体   English   中英

处理套接字提升asio tcp ip - C ++套接字编程

[英]Handling socket boost asio tcp ip - C++ socket programming

我使用以下代码成功建立连接,发送和接收消息。 我想要做的是以某种方式返回已建立的连接。 我假设我需要返回套接字。 在写这个主题之前,我读了一些相关的主题 - 其中一些提到返回一个套接字并不是一个好主意。 这里建议使用共享。 传递boost :: asio :: ip :: tcp :: socket不幸的是我不熟悉这种类型的指针及其用法。 你能帮我解决这个问题吗?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM