使用boost asio库实现字节数可控的CS通信
来源:互联网 发布:渡边琢斗 知乎 编辑:程序博客网 时间:2024/06/04 23:24
使用boost asio库实现字节数可控的CS通信
2014年4月10日17:44:24
使用VS2008创建空的控制台程序。
服务器程序:
#include <iostream>#include <boost/asio.hpp>int main(int argc, char* argv[]){using namespace boost::asio;// 所有asio类都需要io_service对象io_service iosev;ip::tcp::acceptor acceptor(iosev,ip::tcp::endpoint(ip::tcp::v4(), 1000));for(;;){// socket对象ip::tcp::socket socket(iosev);// 等待直到客户端连接进来acceptor.accept(socket);// 显示连接进来的客户端std::cout << socket.remote_endpoint().address() << std::endl;// 向客户端发送hello world!boost::system::error_code ec;char * str = "hello world!";socket.write_some(buffer(str,7), ec);// 如果出错,打印出错信息if(ec){std::cout <<boost::system::system_error(ec).what() << std::endl;break;}// 与当前客户交互完成后循环继续等待下一客户连接}return 0;}客户端程序:
#include <iostream>#include <boost/asio.hpp>#include <stdlib.h>int main(int argc, char* argv[]){using namespace boost::asio;// 所有asio类都需要io_service对象io_service iosev;// socket对象ip::tcp::socket socket(iosev);// 连接端点,这里使用了本机连接,可以修改IP地址测试远程连接ip::tcp::endpoint ep(ip::address_v4::from_string("127.0.0.1"), 1000);// 连接服务器boost::system::error_code ec;socket.connect(ep,ec);system("PAUSE");// 如果出错,打印出错信息if(ec){std::cout << boost::system::system_error(ec).what() << std::endl;return -1;}// 接收数据char buf[100];size_t len=socket.read_some(buffer(buf,80), ec);std::cout<<"接收字节数:"<<len<<std::endl;std::cout.write(buf, len);system("PAUSE");return 0;}
0 0
- 使用boost asio库实现字节数可控的CS通信
- boost::asio使用UDP协议通信源码实现
- 使用Boost::Asio库实现Http下载
- [Boost.Asio] 使用Boost.Asio编写通信程序
- boost::asio::ip::tcp实现网络通信的小例子
- boost::asio::ip::tcp实现网络通信的小例子
- boost::asio::ip::tcp实现网络通信的小例子
- boost asio ip tcp实现网络通信的小例子
- boost::asio::ip::tcp实现网络通信的小例子
- boost::asio::ip::tcp实现网络通信的小例子
- boost::asio::ip::tcp实现网络通信的小例子
- boost::asio::ip::tcp实现网络通信的小例子
- BOOST asio库的使用备忘
- boost::asio::ip::tcp实现网络通信
- 使用Boost.Asio编写通信程序
- 使用Boost.Asio编写通信程序
- 使用Boost.Asio编写通信程序
- 使用Boost.Asio编写通信程序
- 使用uiautomator做UI测试
- C#中String与StringBuilder的区别
- Ruby 时间规范化函数strftime使用大全
- linux学习笔记之常用命令(-)
- 匿名管道实现进程信息交换
- 使用boost asio库实现字节数可控的CS通信
- GT-Grid的初学
- 基于Android/IOS视频语音通话商业产品源码转让
- 日期插件
- 求助
- ‘UINT64_C’ was not declared in this scope
- 尽可能摆脱对HttpContext的依赖
- Python 中的@修饰符作用
- 常用的android studio 快捷键