socket 编写
来源:互联网 发布:糖豆软件下载 编辑:程序博客网 时间:2024/06/03 14:42
客户端
#include <WinSock2.h>#include <stdio.h>#pragma comment(lib,"ws2_32.lib")void main(){WSAData wsadata;WSAStartup(MAKEWORD(2,2),&wsadata);int sock = socket(AF_INET,SOCK_STREAM,0);printf("%d",sock);sockaddr_in addr;addr.sin_addr.S_un.S_addr = inet_addr("192.168.5.202");addr.sin_family = AF_INET;addr.sin_port = htons(8892);int n = connect(sock,(sockaddr *)&addr,sizeof(addr));printf("%d",n);if(n == INVALID_SOCKET){printf("error = %d",WSAGetLastError());}else{while(1){char buffer[256];int recvived;//recvived = recv(sock,buffer,256,0);scanf("%s", buffer);send(sock, buffer, strlen(buffer) + 1, 0);if(buffer =="bye"){closesocket(sock);break;}}}}
服务端:
#include <WinSock2.h>#include <stdio.h>#pragma comment(lib,"ws2_32.lib")DWORD WINAPI ProcessClientRequests(LPVOID lpParam);void main(){WSAData wsadata;WSAStartup(0x0202,&wsadata);HANDLE thread[10];int sock =socket(AF_INET,SOCK_STREAM,0);//printf("%d",sock);SOCKADDR_IN addr;addr.sin_addr.S_un.S_addr = htonl(INADDR_ANY);addr.sin_family = AF_INET;addr.sin_port = htons(8892);int n = bind(sock,(sockaddr *)&addr,sizeof(sockaddr)); //printf("%d",n);if(n == SOCKET_ERROR){printf("error = %d",WSAGetLastError());}else{listen(sock,5);int thread_num = 0;while (true){SOCKADDR_IN addrc;int len = sizeof(sockaddr);SOCKET m_socket = accept(sock, (sockaddr *)&addrc, &len);if (thread_num < 10){thread[thread_num++] = CreateThread(NULL, 0, ProcessClientRequests, &m_socket, 0, NULL);}printf("%d\n",thread_num);}}WaitForMultipleObjects(10, thread, true, INFINITE);closesocket(sock);for (int i = 0; i < 10; i++){CloseHandle(thread[i]);}WSACleanup();}DWORD WINAPI ProcessClientRequests(LPVOID lpParam){SOCKET* clientsocket = (SOCKET*)lpParam; //这里需要强制转换,注意:指针类型的char* msg = "Hello, my client.rn";send(*clientsocket, msg, strlen(msg) + sizeof(char), NULL);while (TRUE){char buffer[MAXBYTE] = { 0 };recv(*clientsocket, buffer, MAXBYTE, NULL);if (strcmp(buffer, "exit") == 0){break;}}closesocket(*clientsocket);return 0;}
客户端要连接的ip为服务端ip,两端口号要一直才可以。
0 0
- socket 编写
- socket 程序编写(一)
- Tcp socket程序编写
- socket编写流程
- Android编程:Socket编写
- C#编写Socket通信
- python编写socket
- c++编写socket聊天
- 动态编写socket
- Socket编写点对点聊天室
- C# Socket Clinet编写
- python---基本socket编写
- socket UDP网络程序编写
- Perl编写的socket客户端
- iOS用Socket编写客户端
- IOS编程Socket Client编写
- 如何编写Socket套接字
- 编写socket通信必备知识
- swift UI专项训练42 用Swift代码实现页面跳转与传值
- [寒江孤叶丶的Cocos2d-x之旅_25]Cocos2d-x 浅谈Lua与C++函数间互相调用问题
- 阿牛的EOF牛肉串
- android 使用clip.xml 作为drawable 作成进度条图片效果
- MonkeyRunner原理初步--Android自动化测试学习历程
- socket 编写
- 机械手收购时首要重视的技术参数
- win7 64位安装mongodb及管理工具mongoVUE1.6.9.0
- *************** 二维数组 ***************
- Hadoop2.2.0使用笔记总结(一)
- 汉诺塔III
- Elasticsearch1.4.2 安装中文分词器
- 网站前期优化整合要点,四分析三注意
- SharePoint 2013 场部署