#include #include #include #include #include using namespace std; int main() { // здесь создаем сокет и выводим ошибку, если не удалось это сделать int serverSocket = socket(AF_INET, SOCK_STREAM, 0); if (serverSocket == -1) { cerr << "Ошибка при создании сокета\n"; return -1; } // задание адреса сервера. Используем порт 8080 и слушаем на всех //адресах( 0.0.0.0 ) sockaddr_in serverAddress; serverAddress.sin_family = AF_INET; serverAddress.sin_port = htons(8080); serverAddress.sin_addr.s_addr = INADDR_ANY; // связываем серверный сокет if (bind(serverSocket, (struct sockaddr*)&serverAddress, sizeof(serverAddress)) == -1) { cerr << "Ошибка при привязке сокета\n"; close(serverSocket); return -1; } // слушаем на порту новые подключения if (listen(serverSocket, 5) == -1) { cerr << "Ошибка при прослушивании\n"; close(serverSocket); return -1; } cout << "Сервер ожидает подключения...\n"; // принимаем подключение клиента int clientSocket = accept(serverSocket, nullptr, nullptr); if (clientSocket == -1) { cerr << "Ошибка при принятии подключения\n"; close(serverSocket); return -1; } cout << "Клиент подключен!\n"; // получаем данные от клиента char buffer[1024] = {0}; recv(clientSocket, buffer, sizeof(buffer), 0); cout << "Сообщение от клиента: " << buffer << endl; close(clientSocket); close(serverSocket); return 0; }