当前位置: 首页 > news >正文

单位网站建设意见seo导航

单位网站建设意见,seo导航,做网站项目需要多少钱,WordPress调用画廊C 网络编程 asio 使用总结 - 知乎 (zhihu.com) 基于Boost::asio的多线程异步TCP服务器&#xff0c;实现了io_service线程池&#xff0c;测试了1万左右的并发访问&#xff0c;读写无压力_boost asio支持最大并发_E404的博客-CSDN博客 单线程 server.cpp #include <cstdlib&g…

C++ 网络编程 asio 使用总结 - 知乎 (zhihu.com)

基于Boost::asio的多线程异步TCP服务器,实现了io_service线程池,测试了1万左右的并发访问,读写无压力_boost asio支持最大并发_E404的博客-CSDN博客

 单线程

 server.cpp

#include <cstdlib>
#include <ctime>#include <iostream>
#include <memory>
#include <utility>
#include <string>#include <boost/asio.hpp>using boost::asio::ip::tcp;class session : public std::enable_shared_from_this <session>                   //从enable_shared_from_this继承的类需要使用智能指针管理资源
{public:session(tcp::socket socket) : socket_(std::move(socket)) { } void start(){do_read();	}private:void do_read(){auto self(shared_from_this());                                      //对自己的引用计数+1socket_.async_read_some(boost::asio::buffer(data_,max_length),[this,self](boost::system::error_code ec , std::size_t length){printf("recv data:%s\n",data_);if(!ec){	do_write(length);}});}void do_write(std::size_t length){auto self(shared_from_this());boost::asio::async_write(socket_,boost::asio::buffer(data_,length),[this,self](boost::system::error_code ec , std::size_t){if(!ec){do_read();		}});}private:tcp::socket socket_;enum {max_length = 1024};char data_[max_length];
};class Server
{public:Server(boost::asio::io_service &io_service,short port) : acceptor_(io_service, tcp::endpoint(tcp::v4(),port)) , socket_(io_service)	{	}void start(){do_accept();}private:void do_accept(){acceptor_.async_accept(socket_ , [this](boost::system::error_code ec)    //创建一个socket连接{if(!ec){auto newSession = std::make_shared<session>(std::move(socket_));newSession->start();}		do_accept();});}tcp::acceptor acceptor_;tcp::socket socket_;
};int main(int argc,char *argv[])
{try{if(argc != 2){std::cerr << "请输入端口号:" << std::endl;return 1;}boost::asio::io_service io_service;Server s(io_service,std::atoi(argv[1]));s.start();io_service.run();}catch(std::exception &e){std::cerr << "异常:" << e.what() << std::endl;}return 0;
}

client.cpp

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <netinet/in.h>
#include <signal.h>
#include <arpa/inet.h>#define MAXSIZE 1024
#define IP_ADDR "127.0.0.1"
#define IP_PORT 8888int i_sockfd = -1;void SigCatch(int sigNum)	//信号捕捉函数(捕获Ctrl+C)
{if(i_sockfd != -1){close(i_sockfd);}printf("Bye~! Will Exit...\n");exit(0);
}int main()
{struct sockaddr_in st_clnsock;char msg[1024];int nrecvSize = 0;signal(SIGINT, SigCatch);	//注册信号捕获函数if((i_sockfd = socket(AF_INET, SOCK_STREAM, 0) ) < 0)	//建立套接字{printf("socket Error: %s (errno: %d)\n", strerror(errno), errno);exit(0);}memset(&st_clnsock, 0, sizeof(st_clnsock));st_clnsock.sin_family = AF_INET;  //IPv4协议//IP地址转换(直接可以从物理字节序的点分十进制 转换成网络字节序)if(inet_pton(AF_INET, IP_ADDR, &st_clnsock.sin_addr) <= 0){printf("inet_pton Error: %s (errno: %d)\n", strerror(errno), errno);exit(0);}st_clnsock.sin_port = htons(IP_PORT);	//端口转换(物理字节序到网络字节序)if(connect(i_sockfd, (struct sockaddr*)&st_clnsock, sizeof(st_clnsock)) < 0)	//主动向设置的IP和端口号的服务端发出连接{printf("connect Error: %s (errno: %d)\n", strerror(errno), errno);exit(0);}printf("======connect to server, sent data======\n");while(1)	//循环输入,向服务端发送数据并接受服务端返回的数据{fgets(msg, MAXSIZE, stdin);printf("will send: %s", msg);if(write(i_sockfd, msg, MAXSIZE) < 0)	//发送数据{printf("write Error: %s (errno: %d)\n", strerror(errno), errno);exit(0);}memset(msg, 0, sizeof(msg));if((nrecvSize = read(i_sockfd, msg, MAXSIZE)) < 0)	//接受数据{printf("read Error: %s (errno: %d)\n", strerror(errno), errno);}else if(nrecvSize == 0){printf("Service Close!\n");}else{printf("Server return: %s\n", msg);}}return 0;
}

http://www.yayakq.cn/news/651513/

相关文章:

  • 服务器做网站上传快好还是下载快好婚纱摄影网站seo方案
  • php企业网站开发方案东莞seo网络推广专
  • 建立网站大概投入wordpress 技术分享主题
  • 上小学网站建设墨刀网站开发原型图教程
  • 开县集团网站建设做网站需要登陆服务器网站吗
  • 关于企业微网站建设方案icp网站负责人
  • 高邑网站建设电子商务网站建设收获
  • 注册做网站的营业执照系统开发费
  • 网站定制设计服务需要使用的技术古典asp网站源码
  • 网站制作青岛公司推广计划标题不允许重复
  • 做商务网站西安企业
  • 携程网站用js怎么做做网站需要学多久
  • 网站建设制作找哪家公司网站开发自学难吗
  • 织梦多语言网站做论坛网站
  • 网站开发专业找什么工作重庆网站建设公司的网站
  • 福州市建设管理处网站360开户推广
  • wordpress 仿站教程入职简历模板
  • 企业门户网站需求模板周口城乡建设局网站
  • wordpress站群主机微博推广运营
  • 灰色网站设计做门户网站需要学什么软件
  • 网站备案 前置审批号如何零基础学编程
  • 什么是网站子目录wordpress换空间域名
  • 淮安做网站就找卓越凯欣一级造价工程师教材
  • 怎么给网站引流贷款网站源码下载
  • 梧州网站建设设计福建省建设监理公司网站
  • 一元夺宝网站怎么做深圳设计网站多少钱
  • 济南 规划 网站网络建站步骤
  • 做微信的微网站费用多少合适c2c模式发展趋势
  • 网站开发实用技术 代码中国房地产100强名单
  • 网站开发设计运维企业应用系统有哪些