C++ Socket服务器简单代码示例
来源:互联网 发布:台湾ptt大陆网络用语 编辑:程序博客网 时间:2024/04/28 05:08
C++ Socket服务器简单代码示例
#include <WinSock2.h>#include <stdio.h>#pragma comment(lib,"ws2_32.lib")//服务器端void main(){ WSADATA wsaData; int errorCode = WSAStartup(MAKEWORD(1,1),&wsaData); if (errorCode != 0) return; SOCKET acceptSocket = socket(AF_INET,SOCK_STREAM,0); SOCKADDR_IN addr; addr.sin_family = AF_INET; addr.sin_addr.S_un.S_addr = htonl(INADDR_ANY); addr.sin_port = htons(6001); //端口号 errorCode = bind(acceptSocket,(SOCKADDR*)&addr,sizeof(SOCKADDR)); if (errorCode != 0) return; errorCode = listen(acceptSocket,5); if (errorCode != 0) return; SOCKADDR_IN sockAddr; int len = sizeof(SOCKADDR); char recvBuf[5000] = {0}; char sendBuf[5000] = {0}; while (true) { SOCKET clientSocket = accept(acceptSocket,(SOCKADDR*)&sockAddr,&len); if (clientSocket == INVALID_SOCKET) { Sleep(100); continue; } memset(sendBuf,0,5000); sprintf(sendBuf,"%s is Connected!\r\n",inet_ntoa(sockAddr.sin_addr)); printf(sendBuf); while(true) { memset(recvBuf,0,5000); memset(sendBuf,0,5000); int ret = recv(clientSocket,recvBuf, 4999,0); if (ret < 0) break; sprintf(sendBuf,"Hello %s ,message recved!\r\n",inet_ntoa(sockAddr.sin_addr)); printf(sendBuf); ret = send(clientSocket,sendBuf, strlen(sendBuf),0); if (ret < 0) break; } memset(sendBuf,0,5000); sprintf(sendBuf,"%s is Closed!\r\n",inet_ntoa(sockAddr.sin_addr)); printf(sendBuf); closesocket(clientSocket); } closesocket(acceptSocket); WSACleanup();}
0 0
- C++ Socket服务器简单代码示例
- 简单的TCP 流式socket 服务器和客户端代码示例
- C#Socket 异步代码示例
- linux socket编程2-服务器代码示例
- Pro*C简单示例代码
- c#(Socket)异步套接字代码示例
- c#(Socket)异步套接字代码示例
- c#(Socket)异步套接字代码示例
- socket 简单实例1.服务器代码
- php简单socket服务器客户端代码实例
- 简单socket【C/S,服务器收文件】
- C语言简单示例(代码注释)
- socket收发简单示例
- socket通信简单示例
- socket 简单聊天示例
- 简单socket通信示例
- JAVA socket 简单示例
- 简单的Socket示例
- 第14周 【项目1 - 小玩文件】(4)
- 从DirectX SDK升级到Windows SDK
- mysql安装for linux(二进制)
- html5 实现画虚线
- IOS代码实现常用控件UIButton、UISlider、UISwitch、UISegmentedControl
- C++ Socket服务器简单代码示例
- linux php之脚本加速模块zend opcache
- 求1+2+3+...+n
- Android多线程编程详解,关于Handler ,Looper , Message , MessageQueue
- Groovy&Java multi Map 的引用
- oracle分页查询语句
- mysql安装for linux(rpm包)
- ant 基本知识
- 新创建job不能自动执行