Библиотека для создания TCP сетевых приложений на C++ 11, работающая без заголовочных файлов и поддерживаемая на нескольких платформах.
cmake . -Dbrynet_BUILD_EXAMPLES=ON -Dbrynet_BUILD_TESTS=ON
make
.cmake .
sudo make install
В локальной сети, используется CentOS 6.5 виртуальная машина (хостовая машина - Win10 i5)
PingPong Сервер и клиент используют по одному потоку, размер пакета — 4 КБ.
Broadcast
Сервер использует два сетевых потока и один логический поток, клиент использует один сетевой (также обрабатывает логику) поток. Размер каждого пакета — 46 байт. Каждый пакет содержит идентификатор клиента. Сервер отправляет пакет всем клиентам при получении пакета от любого клиента. Клиент отправляет пакет при получении пакета от сервера и если идентификатор пакета равен идентификатору клиента. ! Broadcast* Аб HTTP(1 сетевой поток)
Серверное имя хоста: 127.0.0.1
Серверный порт: 9999
Путь к документу: /abc/de? a=1
Длина документа: 25 байт
Уровень параллелизма: 100
Время выполнения тестов: 17.734 секунды
Полных запросов: 500000
Неудачных запросов: 0
Всего передано: 41000000 байт
Передано HTML: 12500000 байт
Запросов в секунду: 28194.36 [#/сек] (среднее)
Время на запрос: 3.547 [мс] (среднее)
Время на запрос: 0.035 [мс] (среднее, по всем параллельным запросам)
Скорость передачи: 2257.75 [Кбайт/сек] (получено)
Время соединения (мс)
мин среднее[+/-sd] медиана макс
Соединение: 0 2 0.2 2 3
Обработка: 1 2 0.3 2 7
Ожидание: 0 1 0.4 1 6
Общее: 2 4 0.2 4 7
Процент запросов, выполненных за определенное время (мс)
50% 4
66% 4
75% 4
80% 4
90% 4
95% 4
98% 4
99% 4
100% 7 (самый долгий запрос)
```Примеры
----------------------------
* [PingPongServer](https://github.com/IronsDu/dodo/blob/master/examples/PingPongServer.cpp)
* [PingPongClient](https://github.com/IronsDu/dodo/blob/master/examples/PingPongClient.cpp)
* [BroadCastServer](https://github.com/IronsDu/dodo/blob/master/examples/BroadCastServer.cpp)
* [BroadCastClient](https://github.com/IronsDu/dodo/blob/master/examples/BroadCastClient.cpp)
* [Http&Websocket Server](https://github.com/IronsDu/dodo/blob/master/examples/HttpServer.cpp)
* [HttpServerClient](https://github.com/IronsDu/dodo/blob/master/examples/HttpClient.cpp)
* [BenchWebsocket](https://github.com/IronsDu/dodo/blob/master/examples/BenchWebsocket.cpp) benchmark websocket client
* [PromiseReceive](https://github.com/IronsDu/dodo/blob/master/examples/PromiseReceive.cpp)com/IronsDu/brynet/blob/master/examples/PromiseReceive. cpp) использование стиля промисов для получения HTTP-ответа
* [WebSocketProxy](https://github. com/IronsDu/dodo/blob/master/examples/WebBinaryProxy. cpp) прокси-сервер между WebSocket-клиентом и сервером с двоичным протоколом
* для просмотра дополнительных примеров перейдите к [примерам](https://github. com/IronsDu/dodo/tree/master/examples);Пользователи
----------------------------
* [Redis proxy](https://github.com/IronsDu/DBProxy)
* [gayrpc](https://github.com/IronsDu/gayrpc)
* [gaylord - распределенная виртуальная фреймворк акторов](https://github.com/IronsDu/gaylord)
* [Joynet - Lua сеть библиотека](https://github.com/IronsDu/Joynet)
* [grpc-gateway](https://github.com/IronsDu/grpc-gateway)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )