boost程序编写步骤

来源:互联网 发布:h5界面设计软件 编辑:程序博客网 时间:2024/05/01 10:17
#include <boost/asio.hpp>#include <iostream>int main() {using namespace std;using namespace boost::asio::ip;// step 1, 创建一个 io_service 实例boost::asio::io_service svc;// step 2, 创建一个 tcp::acceptor 对象,用于随后接受来自客户端的连接tcp::acceptor acc(svc, tcp::endpoint(tcp::v4(), 9988));boost::system::error_code ec;//tcp::acceptor acc(svc);//acc.open(tcp::v4());////tcp::endpoint listenAddr(tcp::v4(), 9988);//acc.bind(listenAddr, ec);////acc.listen(10, ec);char buf[512];for (;;) {// step 3, 创建一个tcp::socket对象,用于代表服务器与客户端的一条数据I/O的socket//   随后会在accept操作中得到初始化tcp::socket sock(svc);// step 4, 调用 tcp::acceptor::accept(),初始化sock对象,//         如果该操作成功执行,sock对象即可以用于随后的数据I/Oacc.accept(sock, ec);if (ec) {cerr << "acc.accept(): An error occurred: " << ec.message() << '\n';continue;}for (;;) {// step 5, 接收来自客户端的消息std::size_t len = sock.read_some(boost::asio::buffer(buf, sizeof buf), ec);if (ec) {if (ec != boost::asio::error::eof)cerr << "sock.read_some(): An error occurred: "<< ec.message() << '\n';break;}// step 6, 将接收到的消息原封不动的发回客户端boost::asio::write(sock, boost::asio::buffer(buf, len),boost::asio::transfer_all(), ec);if (ec) {cerr << "write(): An error occurred: " << ec.message() << '\n';break;}}} // sock 对象销毁}

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 儿童感冒咳嗽怎么办最有效 打了排卵针不排卵怎么办 孩孑上课不专心怎么办 4岁上课不听讲怎么办 孩子上课不认真听讲怎么办 孩子做什么都慢怎么办 7岁上课不听讲怎么办 打孩子脸肿了怎么办 一岁宝宝太调皮怎么办 怀孕早期喝了酒怎么办 怀孕期间喝了酒怎么办 一岁宝宝多动怎么办 3岁前儿童多动症怎么办 好动症的孩子该怎么办 18个月宝宝腹泻怎么办 8个月小孩发烧怎么办 八个月大宝宝发烧怎么办 8个月宝宝拉稀水怎么办 八个月宝宝38度怎么办 8个月的宝宝发烧怎么办 八个月大的宝宝拉肚子怎么办 9孩子上课坐不住怎么办 3岁宝宝太皮怎么办 4岁的宝宝多动症怎么办 小孩好动注意力不集中怎么办 乐扣加热变形了怎么办 3岁宝宝咳嗽厉害怎么办 六个月婴儿呕奶怎么办 刚出生婴儿呕奶怎么办 宝宝拉颗粒便便怎么办 奶水不够宝宝又不吃奶粉怎么办 一岁突然不吃饭怎么办 母乳不够吃宝宝不吃奶粉怎么办 八个月不吃辅食怎么办 孩子长得太快怎么办 反复发烧到39度怎么办 儿童发烧到39度怎么办 7岁儿童发烧40度怎么办 7岁反复发烧39度怎么办 宝宝烧到39.5度怎么办 3岁儿童发烧39度怎么办