中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

怎么樣創(chuàng)建一個(gè)網(wǎng)站明星百度指數(shù)在線(xiàn)查詢(xún)

怎么樣創(chuàng)建一個(gè)網(wǎng)站,明星百度指數(shù)在線(xiàn)查詢(xún),做的網(wǎng)站必須放,網(wǎng)頁(yè)設(shè)計(jì)大概需要多少錢(qián)C 網(wǎng)絡(luò)編程 asio 使用總結(jié) - 知乎 (zhihu.com) 基于Boost::asio的多線(xiàn)程異步TCP服務(wù)器&#xff0c;實(shí)現(xiàn)了io_service線(xiàn)程池&#xff0c;測(cè)試了1萬(wàn)左右的并發(fā)訪(fǎng)問(wèn)&#xff0c;讀寫(xiě)無(wú)壓力_boost asio支持最大并發(fā)_E404的博客-CSDN博客 單線(xiàn)程 server.cpp #include <cstdlib&g…

C++ 網(wǎng)絡(luò)編程 asio 使用總結(jié) - 知乎 (zhihu.com)

基于Boost::asio的多線(xiàn)程異步TCP服務(wù)器,實(shí)現(xiàn)了io_service線(xiàn)程池,測(cè)試了1萬(wàn)左右的并發(fā)訪(fǎng)問(wèn),讀寫(xiě)無(wú)壓力_boost asio支持最大并發(fā)_E404的博客-CSDN博客

?單線(xiàn)程

?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繼承的類(lèi)需要使用智能指針管理資源
{public:session(tcp::socket socket) : socket_(std::move(socket)) { } void start(){do_read();	}private:void do_read(){auto self(shared_from_this());                                      //對(duì)自己的引用計(jì)數(shù)+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)    //創(chuàng)建一個(gè)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 << "請(qǐng)輸入端口號(hào):" << 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)	//信號(hào)捕捉函數(shù)(捕獲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);	//注冊(cè)信號(hào)捕獲函數(shù)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協(xié)議//IP地址轉(zhuǎn)換(直接可以從物理字節(jié)序的點(diǎn)分十進(jìn)制 轉(zhuǎn)換成網(wǎng)絡(luò)字節(jié)序)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);	//端口轉(zhuǎn)換(物理字節(jié)序到網(wǎng)絡(luò)字節(jié)序)if(connect(i_sockfd, (struct sockaddr*)&st_clnsock, sizeof(st_clnsock)) < 0)	//主動(dòng)向設(shè)置的IP和端口號(hào)的服務(wù)端發(fā)出連接{printf("connect Error: %s (errno: %d)\n", strerror(errno), errno);exit(0);}printf("======connect to server, sent data======\n");while(1)	//循環(huán)輸入,向服務(wù)端發(fā)送數(shù)據(jù)并接受服務(wù)端返回的數(shù)據(jù){fgets(msg, MAXSIZE, stdin);printf("will send: %s", msg);if(write(i_sockfd, msg, MAXSIZE) < 0)	//發(fā)送數(shù)據(jù){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)	//接受數(shù)據(jù){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.risenshineclean.com/news/4157.html

相關(guān)文章:

  • 沈陽(yáng)做網(wǎng)站哪家最便宜全媒體運(yùn)營(yíng)師報(bào)名入口
  • 廈門(mén)高端網(wǎng)站建設(shè)公司頁(yè)面設(shè)計(jì)
  • 項(xiàng)目經(jīng)理證書(shū)怎么考廣州百度網(wǎng)站排名優(yōu)化
  • wordpress+文章輸出北京百度關(guān)鍵詞優(yōu)化
  • 寧夏網(wǎng)站建設(shè)公司seo綜合查詢(xún)系統(tǒng)
  • 做網(wǎng)站需要干什么公司網(wǎng)頁(yè)制作模板
  • 膠州網(wǎng)站建設(shè)公司教育培訓(xùn)網(wǎng)站
  • 勝芳哪里做網(wǎng)站營(yíng)銷(xiāo)推廣投放平臺(tái)
  • 網(wǎng)絡(luò)營(yíng)銷(xiāo)網(wǎng)站建設(shè)知識(shí)網(wǎng)絡(luò)推廣優(yōu)化工具
  • 鄭州專(zhuān)業(yè)網(wǎng)站建設(shè)公司詳情seo如何優(yōu)化關(guān)鍵詞
  • 做網(wǎng)站免費(fèi)免費(fèi)發(fā)軟文的網(wǎng)站
  • 免費(fèi)網(wǎng)站源碼crm網(wǎng)站
  • 貴陽(yáng)網(wǎng)站優(yōu)化長(zhǎng)沙百度seo代理
  • 網(wǎng)站建設(shè)的技術(shù)風(fēng)險(xiǎn)seo 首頁(yè)
  • python網(wǎng)站開(kāi)發(fā)代碼成功營(yíng)銷(xiāo)案例分享
  • 阿里外貿(mào)平臺(tái)網(wǎng)站建設(shè)總推薦榜總點(diǎn)擊榜總排行榜
  • 做網(wǎng)站公司沒(méi)簽合同有什么好的推廣平臺(tái)
  • 威海高區(qū)建設(shè)局網(wǎng)站電商平臺(tái)排名
  • 國(guó)內(nèi)有哪些b2c網(wǎng)站產(chǎn)品推廣方案ppt模板
  • sem seo是什么意思呢搜索引擎優(yōu)化技術(shù)
  • 網(wǎng)站備案網(wǎng)站類(lèi)型萬(wàn)網(wǎng)是什么網(wǎng)站
  • 類(lèi)似于微博網(wǎng)站怎么做的怎么營(yíng)銷(xiāo)自己的產(chǎn)品
  • 手機(jī)代理服務(wù)器免費(fèi)版seo 適合哪些行業(yè)
  • 拉薩做網(wǎng)站公司推廣賺錢(qián)的平臺(tái)有哪些
  • 章丘靈通環(huán)保設(shè)備在哪個(gè)網(wǎng)站上做的站長(zhǎng)查詢(xún)
  • 廣東南方通信建設(shè)有限公司官方網(wǎng)站免費(fèi)seo技術(shù)教程
  • 做影視網(wǎng)站 片源從哪里來(lái)電商seo是指
  • 建筑企業(yè)管理咨詢(xún)公司是做什么的品牌關(guān)鍵詞優(yōu)化
  • 做網(wǎng)站需要理解什么今天的特大新聞?dòng)心男?/a>
  • 一個(gè)企業(yè)網(wǎng)站ppt怎么做百家號(hào)seo