client.cpp
| #include <stdio.h> |
| #include <stdlib.h> |
| #include <WinSock2.h> |
| #pragma comment (lib, "ws2_32.lib") |
| |
| int main() |
| { |
| |
| WSADATA wsaData; |
| WSAStartup(MAKEWORD(2,2),&wsaData); |
| |
| |
| SOCKET sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); |
| |
| |
| struct sockaddr_in sockAddr; |
| memset(&sockAddr, 0, sizeof(sockAddr)); |
| sockAddr.sin_family = PF_INET; |
| sockAddr.sin_addr.s_addr = inet_addr("127.0.0.1"); |
| sockAddr.sin_port = htons(1234); |
| connect(sock, (SOCKADDR*)&sockAddr, sizeof(SOCKADDR)); |
| |
| |
| |
| |
| char szBuffer[MAXBYTE] = {0}; |
| recv(sock,szBuffer,MAXBYTE,NULL); |
| while (strcmpi(szBuffer,"exit()") != 0) |
| { |
| if(recv(sock,szBuffer,MAXBYTE,NULL) < 0) |
| { |
| printf("客户端断开链接~\n"); |
| return 0; |
| } |
| |
| |
| printf("Message form server:%s\n", szBuffer); |
| } |
| |
| |
| |
| closesocket(sock); |
| |
| |
| WSACleanup(); |
| |
| return 0; |
| } |
server.cpp
| #include <iostream> |
| #include <WinSock2.h> |
| #include <string> |
| #pragma comment (lib,"ws2_32.lib") |
| using namespace std; |
| int main() |
| { |
| |
| WSADATA wsaData; |
| WSAStartup( MAKEWORD(2,2), &wsaData); |
| |
| |
| SOCKET servSock = socket(PF_INET,SOCK_STREAM,IPPROTO_TCP); |
| |
| |
| struct sockaddr_in sockAddr; |
| memset (&sockAddr, 0, sizeof(sockAddr)); |
| sockAddr.sin_family = PF_INET; |
| sockAddr.sin_addr.s_addr = inet_addr("127.0.0.1"); |
| sockAddr.sin_port = htons(1234); |
| bind(servSock, (SOCKADDR*)&sockAddr, sizeof(SOCKADDR)); |
| |
| |
| listen(servSock,20); |
| |
| |
| SOCKADDR clntAddr; |
| int nSize = sizeof(SOCKADDR); |
| SOCKET clntSock = accept(servSock, (SOCKADDR*)&clntAddr, &nSize); |
| |
| |
| char *str = new char[100]; |
| gets(str); |
| send(clntSock, str, strlen(str)+sizeof(char),NULL); |
| while (strcmpi(str,"exit()") != 0) |
| { |
| gets(str); |
| send(clntSock, str, strlen(str)+sizeof(char),NULL); |
| } |
| |
| |
| closesocket(clntSock); |
| closesocket(servSock); |
| |
| return 0; |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步