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

建设银行 杭州市公积金管理中心网站网站图片多 如何优化

建设银行 杭州市公积金管理中心网站,网站图片多 如何优化,怎样只做自己的网站,电子网站建设实训实现了一个基本的 TCP 服务器#xff0c;可以接受多个客户端连接#xff0c;然后持续接收客户端发送的信息#xff0c; 最后将接收到的信息再发送回客户端 。 源码 头文件#xff08;TCPServerTest.h#xff09; #include iostream #include winsock2.h可以接受多个客户端连接然后持续接收客户端发送的信息 最后将接收到的信息再发送回客户端 。 源码  头文件TCPServerTest.h #include iostream #include winsock2.h #include ws2tcpip.h#include thread #include functional // 添加这个头文件以使用 std::bind#include string#pragma comment(lib, ws2_32.lib)class TCPSever { public:TCPSever(int port);~TCPSever();int createSocket(); //创建套接字int serverPreparation(); //服务器连接准备int startConnectClient(); //接受连接客户端void handleClient(SOCKET clientSocket); //处理客户端int Port;WSADATA wsaData;SOCKET serverSocket;struct sockaddr_in serverAddr, clientAddr;int addrLen sizeof(clientAddr); }; 源文件TCPServerTest.cpp #include TCPServerTest.hTCPSever::TCPSever(int port):Port(port) {// 初始化 Windows Sockets传入的参数MAKEWORD(2, 2)指定使用 Winsock 2.2 版本 成功返回0失败返回非0的错误值if (WSAStartup(MAKEWORD(2, 2), wsaData) ! 0) { //std::cerr Error initializing Winsock\n;}else{createSocket();serverPreparation();startConnectClient();} }TCPSever::~TCPSever() {closesocket(this-serverSocket); // 关闭与服务端的连接关闭服务端套接字WSACleanup(); //清理 Winsock 库资源 }int TCPSever::createSocket() {// 创建套接字this-serverSocket socket(AF_INET, SOCK_STREAM, 0);if (this-serverSocket INVALID_SOCKET) {std::cerr Error creating socket\n;WSACleanup();return 1;} }int TCPSever::serverPreparation() {// 设置服务器地址信息this-serverAddr.sin_family AF_INET;this-serverAddr.sin_addr.s_addr INADDR_ANY;this-serverAddr.sin_port htons(Port);// bind 函数 可以绑定套接字到指定地址和端口if (bind(this-serverSocket, (struct sockaddr*)serverAddr, sizeof(serverAddr)) SOCKET_ERROR) {std::cerr Error binding socket\n;closesocket(this-serverSocket);WSACleanup();return 1;}// listen函数开始监听连接参数10表示等待连接队列的最大长度为 10if (listen(this-serverSocket, 10) SOCKET_ERROR) {std::cerr Error listening for connections\n;closesocket(this-serverSocket);WSACleanup();return 1;}std::cout Server listening on port Port std::endl; }int TCPSever::startConnectClient() {while (true) //循环接收数据{SOCKET newClientSocket;// 接受客户端连接 accept函数在循环中等待客户端连接一旦有客户端连接会返回一个新的套接字用于与该客户端通信并获取客户端的地址信息newClientSocket accept(this-serverSocket, (struct sockaddr*)clientAddr, addrLen);if (newClientSocket INVALID_SOCKET) {std::cerr Error accepting connection\n;continue;}char clientIP[INET_ADDRSTRLEN];if (inet_ntop(AF_INET, clientAddr.sin_addr, clientIP, INET_ADDRSTRLEN) nullptr) {std::cerr Error converting client IP address\n;}else {std::cout Client: std::string(clientIP) : std::to_string(ntohs(clientAddr.sin_port)) std::endl;std::thread clientThread(std::bind(TCPSever::handleClient, this, newClientSocket)); //连上后和客户端进行数据clientThread.detach();}} }void TCPSever::handleClient(SOCKET clientSocket) {const char* welcomeMessage Welcome to the server!\n;send(clientSocket, welcomeMessage, strlen(welcomeMessage), 0); // 向客户端发送信息char buffer[1024];while (true){int bytesRead recv(clientSocket, buffer, sizeof(buffer) - 1, 0);if (bytesRead 0) {buffer[bytesRead] \0;std::cout Received: buffer std::endl;std::string response received: std::string(buffer);send(clientSocket, response.c_str(), response.length(), 0);}else {std::cerr Connection closed by client\n;closesocket(clientSocket);return;}} } 调用 #include TCPServerTest.hint main() {TCPSever server TCPSever(8888); } 结果 可以看到服务端可以支持多个客户端连接  客户端代码见 【C】创建TCP客户端-CSDN博客
http://www.hkea.cn/news/14407042/

相关文章:

  • 三亚发布紧急通知东莞百度网站快速优化
  • 婚庆网站搭建的流程太原那有网站设计公司
  • 济南建站推荐企汇优见效付款网站关于我们怎么做单页面
  • php 网站模板 x11宣传型网站的实现技术手段
  • 建设银行江苏分行网站怎么用网站源码做网站
  • wordpress 搜索记录整站优化
  • 怎么建设国际网站首页wordpress分析
  • 眉山网站建设旅游网页图片素材
  • 网站建设 百度经验模板背景图
  • 广州天河网站建设喜满堂网站建设
  • 北京响应式网站建设wordpress作者关注
  • 四川省建设招标网站首页电子商务网站的建设费用
  • 公司网站开发类属什么费用学院网站建设情况总结
  • 烟台开发区做网站免费编程软件哪个好用
  • 一个网站的建设方案中国建设人才服务信息网站
  • 专门做二手书的网站徐州做网站的
  • 太原招聘网站开发数字校园建设专题网站
  • 网站流量被用完了关于阅读类网站的建设规划书
  • 公司建设网站流程好听顺口的公司名字
  • 广州做网站平台的企业青州市城乡建设局网站
  • 后台风格网站淮安新港建设有限公司网站
  • 上海网站建设设织梦 帝国 php cms 媒体网站 哪个
  • 网站外包 博客酒店vi设计公司
  • 网站定制开发是什么用dw制作网站建设
  • 免费搭建微信网站企业网站要怎么建设
  • 网站建设单选题idea15网站开发
  • 网站内部链接的策略天元建设集团有限公司法人
  • 温岭网站制作一般网站建设需要多少钱
  • 茶楼网站源码wordpress 目录打不开
  • 有网站模板怎么做网站ps做网站难吗