#include <iostream>
#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")
#define BUFFER_SIZE 1024
int main() {
WSADATA wsaData;
WSAStartup(MAKEWORD(2, 2), &wsaData);
SOCKET sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
sockaddr_in serverAddr;
memset(&serverAddr, 0, sizeof(serverAddr));
serverAddr.sin_family = AF_INET;
serverAddr.sin_addr.s_addr = htonl(INADDR_ANY);
serverAddr.sin_port = htons(8888);
bind(sock, (SOCKADDR *)&serverAddr, sizeof(serverAddr));
listen(sock, 20);
sockaddr_in clientAddr;
int addrLen = sizeof(clientAddr);
char buffer[BUFFER_SIZE];
while (true) {
SOCKET client;
client = accept(sock, (SOCKADDR *)&clientAddr, &addrLen);
memset(buffer, 0, BUFFER_SIZE);
int len = recv(client, buffer, BUFFER_SIZE, 0);
if (len == SOCKET_ERROR) {
printf("Error receiving data\n");
break;
} else if (len == 0) {
printf("Client disconnected\n");
break;
} else {
printf("Received command: %s\n", buffer);
}
closesocket(client);
}
closesocket(sock);
WSACleanup();
return 0;
}
target_link_libraries(CherryApp ws2_32)