boost之asio库,socket相关
来源:互联网 发布:为什么贫穷 出路 知乎 编辑:程序博客网 时间:2024/05/17 02:41
server端代码:
#include <iostream>#include <boost/thread.hpp>#include <boost/asio.hpp>using namespace std;using namespace boost;void main(){boost::asio::io_service io_service;boost::asio::ip::udp::socket sock_srv(io_service);boost::asio::ip::udp::endpoint point_srv(boost::asio::ip::address::from_string("127.0.0.1"), 6000);sock_srv.open(point_srv.protocol());sock_srv.bind(point_srv);while(1){char buf[100] = {0};boost::asio::ip::udp::endpoint point_conn;sock_srv.receive_from(boost::asio::buffer(buf, 100), point_conn);cout<<"server recv: "<<buf<<endl;sock_srv.send_to(boost::asio::buffer(buf), point_conn);}}
可改为:
#include <iostream>using namespace std;#include <boost/asio.hpp>int main(int argc, char*argv[]){boost::asio::io_service io_service;// boost::asio::ip::udp::socket sock_srv(io_service);// // boost::asio::ip::udp::endpoint point_srv(boost::asio::ip::address::from_string("127.0.0.1"), 6000);// // sock_srv.open(point_srv.protocol());// sock_srv.bind(point_srv);boost::asio::ip::udp::socket sock_srv(io_service, boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string("127.0.0.1"), 6000));//recvchar buf[100] = {0};boost::asio::ip::udp::endpoint point_conn;sock_srv.receive_from(boost::asio::buffer(buf, 100), point_conn);cout<<"server recv:"<<buf<<endl;//sendsock_srv.send_to(boost::asio::buffer(buf), point_conn);return 0;}
client端代码:
#include <iostream>#include <boost/thread.hpp>#include <boost/asio.hpp>using namespace std;using namespace boost;void main(){boost::asio::io_service io_service;boost::asio::ip::udp::socket sock_cli(io_service);boost::asio::ip::udp::endpoint point_srv(boost::asio::ip::address::from_string("127.0.0.1"), 6000);sock_cli.open(point_srv.protocol());while(1){sock_cli.send_to(boost::asio::buffer("hello world"), point_srv);char buf[100] = {0};sock_cli.receive_from(boost::asio::buffer(buf, 100), point_srv);cout<<"client recv: "<<buf<<endl;}}
新代码:
#include <iostream>using namespace std;#include <boost/asio.hpp>int main(int argc, char*argv[]){boost::asio::io_service io_service;boost::asio::ip::udp::socket sock_cli(io_service); sock_cli.open(boost::asio::ip::udp::v4());//sendboost::asio::ip::udp::resolver rlv(io_service);boost::asio::ip::udp::resolver::query qry(boost::asio::ip::udp::v4(), "127.0.0.1", "6000");boost::asio::ip::udp::endpoint point_srv = *rlv.resolve(qry);sock_cli.send_to(boost::asio::buffer("hello world"), point_srv);//recvchar buf[100] = {0};boost::asio::ip::udp::endpoint point_conn;sock_cli.receive_from(boost::asio::buffer(buf, 100), point_conn);cout<<"client recv:"<<buf<<endl;return 0;}
- boost之asio库,socket相关
- boost之asio相关
- Boost库之Asio---简介
- 【boost学习】之boost::asio(3)——socket编程
- boost asio库 同步socket连接示例
- boost::asio::socket
- boost::asio::socket::async_read_some
- boost asio socket
- boost::asio 相关
- boost 1.57 asio socket重复使用
- boost库之asio库, 定时器
- Boost.Asio网络库之io_service分析
- Boost::Asio库之跟踪日志
- boost之asio分析
- boost::asio 之io_service
- Boost Asio之Resolver
- Boost-asio之二
- Boost-asio之三
- 堆和栈的区别
- Lua脚本在C++下的舞步(二)
- 栈练习1
- 忘记linux root密码怎么办?
- Madplay移植到mini2440步骤
- boost之asio库,socket相关
- cocos2d-x 屏幕分辨率适配方法
- 吃土豆 递归分制算法(浪费时间)
- Lua脚本在C++下的舞步(三)
- [iPhone高级] 基于XMPP的IOS聊天客户端程序(IOS端一)
- 栈练习2
- OpenCV人脸检测+识别
- 栈练习3
- PHP soap客户服务器简单示例