同步socket例子
服务端
#include <ctime>
#include <iostream>
#include <string>
#include <boost/asio.hpp>
using namespace std;
int main() {
try
{
cout << "server start..." << endl;
boost::asio::io_service ios;
boost::asio::ip::tcp::acceptor acceptor(ios, boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(), 6688));
cout << acceptor.local_endpoint().address() << endl;
while (true)
{
boost::asio::ip::tcp::socket sock(ios);
acceptor.accept(sock);
cout << "cliend:";
cout << sock.remote_endpoint().address() << endl;
sock.write_some(boost::asio::buffer("hello asio"));
}
}
catch(std::exception& e)
{
cout << e.what() << endl;
}
}
客户端
#include <ctime>
#include <iostream>
#include <string>
#include <boost/asio.hpp>
#include <vector>
#include <boost/bind.hpp>
using namespace std;
int main() {
boost::asio::io_service ios;
cout << "client start..." << endl;
try
{
boost::asio::ip::tcp::socket sock(ios);
boost::asio::ip::tcp::endpoint ep(boost::asio::ip::address::from_string("127.0.0.1"), 6688);
sock.connect(ep);
vector<char> str(100, 0); // 定义一个vector缓冲区
sock.read_some(boost::asio::buffer(str)); // 使用buffer()包装缓冲区接收数据
cout << "recive from " << sock.remote_endpoint().address() << endl;
cout << &str[0] << endl;// 输出接收到的字符串
}
catch (std::exception& e)
{
cout << e.what() << endl;
}
ios.run();
return 0;
}
运行结果:
服务端:
server start...
0.0.0.0
cliend:127.0.0.1
客户端:
client start...
recive from 127.0.0.1
hello asio
分享到:
相关推荐
利用Boost::Asio库来实现Post/Get请求的发送。可以快速开发c++的http请求,访问以http为协议的服务器示例代码。
c++ boost asio网络库 异步tcp方式传文件 速度在10M左右.zip
Boost.Asio C++ Network Programming 书的翻译 此版本的书无目录失效BUG 并且带全书源代码 方便学习使用
该c++ web server基于boost.asio库编写,同时支持http和https协议。该工程基于vs2015编译通过,相关配置和说明见readme.txt
Boost.Asio C++ Network Programming
Boost.Asio C++ Network Programming Cookbook.pdf Boost.Asio C++ Network Programming Cookbook.pdf
Boost.Asio C++ Network Programming(2nd).pdf Boost.Asio C++ Network Programming(2nd).pdf Boost.Asio C++ Network Programming(2nd).pdf
Boost ASIO C++ 网络编程-带实例完整版本
Boost.Asio C++ 网络编程 PDF 高清 非扫描 中文版
http://blog.csdn.net/csnd_ayo/article/details/61577634 文章讲解的操作源码
最新版本,最新排版
Boost.Asio.C++.Network.Programming.,想了解的可以看看
Boost ASIO C++ 网络编程 中文完整版,附全书源代码!
boost库中asio的简单应用,一个服务器一个客户端
boost.asio库是一个跨平台的网络及底层IO的C++编程库,它使用现代C++手法实现了统一的异步调用模型。 boost.asio库支持TCP、UDP、ICMP通信协议。 下面介绍同步TCP模式: 大家好!我是同步方式! 我的主要特点...
The Boost.Asio library is aimed at reducing accidental complexity by introducing type systems and exploiting object-oriented methods, and decreasing the development time by providing high degrees of ...
boost asio网络编程入门教程,可以作为学习参考
详细介绍boost asio框架的使用,包括同步模型和异步模型,包括服务器和客户端的编程例子
基于boost的asio封装的高性能TCP服务器。asio已经有很好的事件封装机制,只有底层事件,没有针对TCP建立会话机制;也没有多多包进行合包,已包为单位的事件提交机制。由于以上多种原因,决定对boost库进行更高的抽象...
找c++工作常常会问你一些关于网络编程和多线程编程的相关知识,boost作为c++标准库的预备军,使用boost.asio对于c++开发人员是很好的选择,Boost.Asio C++ Network Programming详细介绍了使用boost.asio进行网络编程...