设为首页 加入收藏

TOP

C++结合TCP/IP协议 实现客户端和服务器通讯(二)
2018-05-26 14:13:59 】 浏览:739
Tags:结合 TCP/IP 协议 实现 客户端 服务器 通讯
in_port = htons(PORT); server_addr.sin_addr.s_addr = htonl(INADDR_ANY); if (bind(sock_server, (struct sockaddr*)&server_addr, addr_len) != 0) { cout << "绑定失败!错误代码:" << WSAGetLastError() << endl; closesocket(sock_server);//关闭已连接套接字 WSACleanup();//注销WinSock动态链接库 return 0; } // 开始监听 [12/27/2017 MagicScaring] if (listen(sock_server, 0) != 0) { cout << "listen调用失败!错误代码:" << WSAGetLastError() << endl; closesocket(sock_server); WSACleanup(); return 0; } else { cout << "listening...." << endl; } // 循环:接收连接请求并收发数据 [12/27/2017 MagicScaring] int size; while (true) { if ((newsock = accept(sock_server, (struct sockaddr *)&client_addr, &addr_len)) == INVALID_SOCKET) { cout << "accept 函数调用失败! 错误代码:" << WSAGetLastError() << endl; break; } else { cout << "成功接收到一个连接请求!" << endl; size = send(newsock, msg, sizeof(msg), 0); if (size == SOCKET_ERROR) { cout << "发送信息失败! 错误代码:" << WSAGetLastError() << endl; closesocket(newsock); continue; } else if (size == 0) { cout << "对方已关闭连接" << endl; closesocket(newsock); continue; } else { cout << "信息发送成功" << endl; } size = recv(newsock, msg, sizeof(msg), 0); if (size == SOCKET_ERROR) { cout << "接收信息失败! 错误代码:" << WSAGetLastError() << endl; closesocket(newsock); WSACleanup(); return 0; } else if (size == 0) { cout << "对方已关闭连接" << endl; closesocket(newsock); WSACleanup(); return 0; } else { cout << "The message from Client:" << msg<< endl; } } } return 0; }
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C++下的const:const修饰变量、co.. 下一篇C++重载运算符和标准模板库实例讲..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目