首页 > 代码库 > boost::asio 使用实例
boost::asio 使用实例
1 #include <iostream> 2 #include <boost/asio.hpp> 3 4 using namespace std; 5 using namespace boost::asio; 6 7 int main() 8 { 9 try 10 { 11 cout << "server start." << endl; 12 io_service ios; 13 14 ip::tcp::acceptor acc(ios, 15 ip::tcp::endpoint(ip::tcp::v4(),6688)); 16 17 cout << acc.local_endpoint().address() << endl; 18 19 while (true) 20 { 21 ip::tcp::socket sock(ios); 22 acc.accept(sock); 23 24 cout << "client:" ; 25 cout << sock.remote_endpoint().address() << endl; 26 27 sock.write_some(buffer("hello asio")); 28 } 29 } 30 catch (std::exception& e) 31 { 32 cout << e.what() << endl; 33 } 34 35 return 0; 36 }
tcp client:
1 #include <boost/asio.hpp> 2 #include <iostream> 3 4 using namespace std; 5 using namespace boost::asio; 6 7 void client(io_service &ios) 8 { 9 try 10 { 11 cout << "client start." << endl; 12 13 ip::tcp::socket sock(ios); 14 ip::tcp::endpoint ep(ip::address::from_string("127.0.0.1"),6688); 15 16 sock.connect(ep); 17 18 vector<char> str(100,0); 19 sock.read_some(buffer(str)); 20 cout << "receive from " << sock.remote_endpoint().address(); 21 cout << &str[0] << endl; 22 } 23 catch (std::exception& e) 24 { 25 cout << e.what() << endl; 26 } 27 } 28 29 void print(const boost::system::error_code&) 30 { 31 cout << "test wait..." << endl; 32 } 33 34 int main() 35 { 36 io_service ios; 37 deadline_timer at(ios, boost::posix_time::seconds(5)); 38 at.async_wait(print); 39 40 cout << "it show before at exired" <<endl; 41 ios.run(); 42 return 0; 43 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。