ASIO网络库-Client
来源:互联网 发布:淘宝二维码在哪里 编辑:程序博客网 时间:2024/06/06 19:36
ASIO 客户端实现
main.cpp
#ifndef _WIN32_WINNT#define _WIN32_WINNT 0x0600#endif // !_WIN32_WINNT#define ASIO_STANDALONE#include <iostream>#include <asio.hpp>#include<thread>using asio::ip::tcp;void read(tcp::socket *s){ char buf[128]; asio::error_code error; while(true){ s->read_some(asio::buffer(buf), error); if (error){ std::cout<<"session closed!\n"; break; } std::cout<<"[msg]>>"<<buf<<std::endl; }}int main(int argc, char* argv[]){ const char* server_ip="127.0.0.1"; const char* server_port="54545"; try { asio::io_service io_service; tcp::resolver resolver(io_service); tcp::resolver::query query(server_ip,server_port); tcp::resolver::iterator endpoint_iterator = resolver.resolve(query); tcp::socket socket(io_service); asio::connect(socket, endpoint_iterator); std::thread readThread(std::bind(read,&socket)); char buf[128]; while(std::cin.getline(buf,128)){ size_t len = std::strlen(buf); buf[len]='\0'; asio::error_code error; socket.write_some(asio::buffer(buf), error); if (error == asio::error::eof) break; // Connection closed cleanly by peer. else if (error) throw asio::system_error(error); // Some other error. } readThread.join(); } catch (std::exception& e) { std::cerr << e.what() << std::endl; } system("pause"); return 0;}
0 0
- ASIO网络库-Client
- BOOST网络库-ASIO
- ASIO网络库-Server
- boost的网络库asio
- muyu::asio网络库开发
- 网络库Asio交叉编译
- boost asio client
- WINCE下的ASIO网络库
- 基于boost::asio的客户端网络库
- Boost.Asio网络库之io_service分析
- 各种网络库比较 asio libevent
- boost asio网络编程
- Boost Asio multi-threaded blocking server/client
- boost::asio的http client应用笔记
- 基于Boost::asio库的网络编程实现基础
- 基于Boost::asio库的网络编程实现基础
- 基于Boost::asio库的网络编程实现基础
- 基于Boost::asio库的网络编程实现基础
- 如何生成 markdown 文档的内容索引
- 抽象工厂模式
- Synchronized与ReentrantLock
- 培养自己的爱好
- 关于众筹的规则你了解多少?
- ASIO网络库-Client
- 【HDU5718 BestCoder 2nd AnniversaryA】【水题 高精度拆数相加】Oracle 正整数拆2正整数使得和最大
- 合并区间
- 最短生成树
- AOP与OOP
- Spring-----多环境中加载资源配置文件
- 杭电1048(The Hardest Problem Ever)
- UVA 10115-Automatic Editing
- 【JavaScript】利用滚动事件window.onscroll与position:fixed写兼容IE6的回到顶部组件