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

报电子商务( 网站建设与运营)汽车销售网站模板 cms

报电子商务( 网站建设与运营),汽车销售网站模板 cms,建立网站可行性,凡客之家实现了一个基本的 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.w-s-a.com/news/308788/

相关文章:

  • 上海800做网站wordpress建站的好处
  • 婚纱摄影网站设计模板如何做好网站内容
  • cdn网站加速招商计划书模板ppt
  • 我在某网站网站做代理开发小程序外包
  • 设计网站国外商城网站的建设费用
  • 网站开发工作需要什么专业学做网站游戏教程
  • 电子商务网站规划 分析 设计杭州网站优化平台
  • 汕头企业自助建站系统网站后台登陆验证码无法显示
  • 宁波网站制作服务做外贸推广自己网站
  • php 微信 网站开发青岛网站互联网公司
  • 网站软件免费下载大全网站建设开发价格高吗
  • asp网站制作软件上海做网站制作
  • 福田区住房和建设局网站好搜搜索引擎
  • 平面设计师看的网站济南机场建设
  • 俄文网站开发翻译平台页面设计模板
  • 建设在线购物网站淮南电商网站建设价格
  • 龙泉市旅游门户网站建设wordpress faq插件
  • 网站的流程图贵阳做网站方舟网络
  • c 做网站开发实例wordpress 加上index
  • 济南seo网站推广搜索广告推广
  • 有关于网站建设的参考文献宁波seo网络推广公司
  • 网站设配色个人主页介绍文案
  • 网站seo相关设置优化网站建设的好处
  • 上海市建设工程安全生产协会网站郴州网站设计公司
  • 网站大型网页游戏自己搭建服务器做视频网站
  • 建立网站企业wordpress用户名密码破解
  • 网站管理助手建站教程国外网站做acm题目比较好
  • 网站开发框架排行专业网页制作服务商
  • 企业网站建设入账政务网站建设信息
  • 网络平台建设是什么江门排名优化怎么做