boost中TCP的客户端发送示例(blocking版)
来源:互联网 发布:淘宝店铺招牌源代码 编辑:程序博客网 时间:2024/05/15 09:35
//// blocking_tcp_echo_client.cpp// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~//// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com)//// Distributed under the Boost Software License, Version 1.0. (See accompanying// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)//#include <cstdlib>#include <cstring>#include <iostream>#include <boost/asio.hpp>using boost::asio::ip::tcp;enum { max_length = 1024 };int main(int argc, char* argv[]){ try { if (argc != 3) { std::cerr << "Usage: blocking_tcp_echo_client <host> <port>\n"; return 1; } boost::asio::io_service io_service; tcp::resolver resolver(io_service); tcp::resolver::query query(tcp::v4(), argv[1], argv[2]); tcp::resolver::iterator iterator = resolver.resolve(query); tcp::socket s(io_service); boost::asio::connect(s, iterator); using namespace std; // For strlen. std::cout << "Enter message: "; char request[max_length]; std::cin.getline(request, max_length); size_t request_length = strlen(request); boost::asio::write(s, boost::asio::buffer(request, request_length)); char reply[max_length]; size_t reply_length = boost::asio::read(s, boost::asio::buffer(reply, request_length)); std::cout << "Reply is: "; std::cout.write(reply, reply_length); std::cout << "\n"; } catch (std::exception& e) { std::cerr << "Exception: " << e.what() << "\n"; } return 0;}
整理过后可以直接使用的函数是:直接拷贝可以集成到自己的工程:
int boost_tcp_sync_send(const char* addr,const char* port,const char* msg,const int len){ try { boost::asio::io_service io_service; tcp::resolver resolver(io_service); tcp::resolver::query query(tcp::v4(), addr, port); tcp::resolver::iterator iterator = resolver.resolve(query); tcp::socket s(io_service); boost::asio::connect(s, iterator); boost::asio::write(s, boost::asio::buffer(msg,len)); } catch (std::exception& e) { std::cerr << "Exception: " << e.what() << "\n"; } return 0;}
- boost中TCP的客户端发送示例(blocking版)
- Boost官方UDP发送blocking版
- boost::asio TCP客户端编程示例
- boost TCP 同步IO客户端 示例演示
- boost::asio TCP客户端编程示例
- boost::asio tcp socket 的使用示例
- Boost 异步tcp客户端
- 基于TCP的客户端程序示例
- TCP接受发送示例
- tcp客户端示例
- 利用TCP从客户端往服务器端发送一个文件过程中发生的问题
- boost中asio的tcp::iostream例子
- Boost中Echo的tcp例程
- visual studio 中UDP 服务器端和tcp客户端示例
- windows tcp 客户端 发送文件
- TCP 消息发送客户端Client
- Android Tcp客户端发送数据
- 关于TCP服务器端与客户端数据发送的问题
- C++ Report: 编程原则
- C++中public,protected,private访问控制
- Java虚拟机工作原理
- mini2440 蓝牙驱动移植
- 蚁群算法+LEACH 点滴(六) WSN簇头的路径规划(蚁群算法+LEACH)
- boost中TCP的客户端发送示例(blocking版)
- Python 基础
- C# .net Gridview 基于Jquery客户端 冻结行 冻结列 (固定行、固定列) js 插件
- 成大事必备9种能力、9种手段、9种心态
- 二级域名的跨域验证
- java中的cas实现 (乐观锁机制)
- PHP柱状图、饼状图和线性图 并支持中文
- 做好B2B行业网站收费服务推广,提高销售额
- Silverlight实例教程 - Out of Browser的自定义应用