/
Maksim_Sadovnikov
/
web_common
Обзор
Документация
Войти
/
Maksim_Sadovnikov
/
web_common
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
example/main.cpp
62 строки
2 KB
Maksim_Sadovnikov
Add socket
19 май 2025, 00:08
19 май 2025, 00:08
11a31d7
Код
Авторство
О чём код?
// main.cpp #include <iostream> #include <string> #include <web_common/socket.h> #include <web_common/error.h> // для Rc #include <web_common/data.h> // для Data::default* using namespace web_common; using namespace web_common::web_socket; using Rc = return_code::ReturnCode; int main() { // 1) Указываем «нестандартный» IP и порт std::string bind_ip = "10.0.3.15"; // слушать на всех интерфейсах int bind_port = 8080; // 2) Создаём объект сервера WebSocket server(bind_ip, bind_port); // 3) Открываем сокет if (server.Socket() != Rc::Ok) { std::cerr << "Socket() failed\n"; return 1; } // 4) Привязываем к адресу if (server.Bind() != Rc::Ok) { std::cerr << "Bind(" << bind_ip << ":" << bind_port << ") failed\n"; return 1; } // 5) Начинаем слушать с глубиной очереди backlog = 10 if (server.Listen(10) != Rc::Ok) { std::cerr << "Listen failed\n"; return 1; } std::cout << "Server is listening on " << server.GetIp() << ":" << server.GetPort() << "\n"; while (true) { if (server.Accept() != Rc::Ok) { std::cerr << "Accept failed\n"; continue; } std::cout << "Client connected\n"; std::string msg; if (server.Read(msg) != Rc::Ok) { std::cerr << "Read failed\n"; } else { std::cout << msg; } } return 0; }