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
- boost程序编写步骤
- j2ee程序编写步骤
- 编写服务程序步骤
- 编写服务程序步骤
- 程序编写步骤
- 编写DLL程序的步骤
- 编写Hibernate程序的步骤
- 使用Boost.Asio编写通信程序
- 使用Boost.Asio编写通信程序
- 使用Boost.Asio编写通信程序
- 使用Boost.Asio编写通信程序
- 使用Boost.Asio编写通信程序
- 使用Boost.Asio编写通信程序
- 使用Boost.Asio编写通信程序
- 使用Boost.Asio编写通信程序
- 使用Boost.Asio编写通信程序
- (*)使用Boost.Asio编写通信程序
- 使用Boost.Asio编写通信程序
- 泡泡的种类
- 静态库,共享库
- java一定要谨慎的操作!
- emmc boot partition 使用思考
- java笔记8
- boost程序编写步骤
- 使用Bash脚本实现Web服务CGI
- hibernate的单向一对多
- date中的类!
- 函数对象
- HBase数据迁移(3)-自己编写MapReduce Job导入数据
- 结合Wireshark捕获分组深入理解DNS协议
- 女孩子要检点点
- BS架构与CS架构的区别