2023年8月4日,周五上午
编译器
我使用vs2022作为编译器
纯享版
服务端负责发送Hello给客户端,
客户端负责把Hello接收并打印出来。
服务端代码
#include<winsock2.h>
#include<string.h>
#pragma comment(lib, "ws2_32.lib")int main() {WSADATA wsaData;WSAStartup(MAKEWORD(2, 2), &wsaData);SOCKET hServSock = socket(PF_INET, SOCK_STREAM, 0);SOCKADDR_IN servAddr;memset(&servAddr, 0, sizeof(servAddr));servAddr.sin_family = AF_INET;servAddr.sin_addr.s_addr = htonl(INADDR_ANY);servAddr.sin_port = htons(9990);bind(hServSock, (SOCKADDR*)&servAddr, sizeof(servAddr));listen(hServSock, 5);SOCKADDR_IN clntAddr;int szClntAddr = sizeof(clntAddr);SOCKET hClntSock = accept(hServSock, (SOCKADDR*)&clntAddr, &szClntAddr);send(hClntSock, "Hello", sizeof("Hello"), 0);closesocket(hClntSock);closesocket(hServSock);WSACleanup();return 0;
}
客户端代码
#define _WINSOCK_DEPRECATED_NO_WARNINGS 1
#include<winsock2.h>
#include<string.h>
#include<stdio.h>
#pragma comment(lib, "ws2_32.lib")int main() {WSADATA wsaData;WSAStartup(MAKEWORD(2, 2), &wsaData);SOCKET hSocket = socket(PF_INET, SOCK_STREAM, 0);SOCKADDR_IN servAddr;memset(&servAddr, 0, sizeof(servAddr));servAddr.sin_family = AF_INET;servAddr.sin_addr.s_addr = inet_addr("127.0.0.1");servAddr.sin_port = htons(9990);connect(hSocket, (SOCKADDR*)&servAddr, sizeof(servAddr));char message[30];recv(hSocket, message, sizeof(message) - 1, 0);printf("%s\n", message);
}