我私下的在学 Boost::Asio 网络库
有同步的和异步的 我本篇写了个 同步的 试一试怎么玩
因为刚学 所以写的就非常简单 就几行代码
关于环境的搭建 我其他文章有写
#include <iostream>
#include <boost/asio.hpp>
using namespace std;
int main()
{
boost::asio::io_service m_ioService;
boost::asio::ip::tcp::acceptor m_acceptor(m_ioService,
boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(),6666));
cout <<"Boost::Asio listen success !"<<endl;
for(;;)
{
//socket
boost::asio::ip::tcp::socket m_socket(m_ioService);
//wait client.....
m_acceptor.accept(m_socket);
//show client ip and port
std::cout <<"client ip:"<<m_socket.remote_endpoint().address()<<" port:"<<m_socket.remote_endpoint().port()<<std::endl;
boost::system::error_code error;
//read client data
char buffer[1024];
int len = m_socket.read_some(boost::asio::buffer(buffer),error);
std::cout<<"client send:"<<buffer<<endl;
std::cout <<"data len:" <<len<<endl;
//write to client data
std::string str = "i am Boost::asio server!";
m_socket.write_some(boost::asio::buffer(str),error);
}
return 0;
}
下面是效果图
客户端我是用了一个开源的软件 sokit-master
后面我在试一试 异步的 ,等我多看看 Boost::Asio 的架构 现在还不了解