小编Tid*_*Bay的帖子

提升asio发送和接收消息

我正在尝试使用TCP从客户端和服务器发送和接收消息.我正在尝试使用线程,我根本不知道如何执行此操作.我可以很好地连接到服务器,但我需要能够根据需要从两个地方发送和接收消息.我一直在搜索几个小时并且空洞,因为Google上的所有结果都过于复杂和混乱.

struct Client
{
boost::asio::ip::tcp::socket socket;

Client(const char* host = HOST, const char* port = PORT) : socket(io_service) 
{
    boost::asio::ip::tcp::resolver resolver(io_service);
    boost::asio::ip::tcp::resolver::iterator endpoint = resolver.resolve(boost::asio::ip::tcp::resolver::query(HOST, PORT));
    boost::asio::connect(this->socket, endpoint);
   };
};
Run Code Online (Sandbox Code Playgroud)

这就是我到目前为止为客户所做的一切.

对于服务器:

const int PORT = 52275;

int main()
{
    try
{
    boost::asio::io_service io_service;
    boost::asio::ip::tcp::acceptor acceptor(io_service, boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(), PORT));

    {
        boost::asio::ip::tcp::socket socket(io_service);
        acceptor.accept(socket);
        main();
    }
}
catch (std::exception& e)
{
    std::cerr << "Exception: " << e.what() << std::endl;
}
}
Run Code Online (Sandbox Code Playgroud)

boost boost-asio

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

boost ×1

boost-asio ×1