|
0 / 0 / 0
Регистрация: 25.06.2013
Сообщений: 12
|
|
Как ускорить работу сокетов?25.06.2013, 13:20. Показов 5515. Ответов 21
Метки нет (Все метки)
Добрый день,
Руководитель дал задание на практику написать приложение на C/C++ - Генератор/Анализатор трафика. Ранее я писал что-то подобное, только на C# с использованием асинхронных сокетов. Попробывал обычные сокеты (connect, send, recv) - работает медленно, нужна скорость хотя бы 1000 запрос/с. Далее поискал в Интернете - нашел пример неблокирующих сокетов, но как я понял - он работает только для сервера (эхо-сервер). Подскажите, как реализовать поставленную задачу?
0
|
|
| 25.06.2013, 13:20 | |
|
Ответы с готовыми решениями:
21
Как ускорить работу IJ? Как ускорить работу? Как ускорить работу приложения? |
|
Заблокирован
|
|
| 25.06.2013, 15:23 | |
|
Какой такой анализатор без снифа? Задача неясна.
0
|
|
|
Модератор
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
|
|
| 25.06.2013, 16:47 | |
|
0
|
|
|
26 / 26 / 3
Регистрация: 13.04.2012
Сообщений: 61
|
|
| 25.06.2013, 18:39 | |
|
Работает медленно в блокирующем режиме - это естественно.
Используйте неблокирующие сокеты, они подходят не только для сервера (эхо-сервер). C# в итоге тоже использует неблокирующие сокеты.
1
|
|
|
0 / 0 / 0
Регистрация: 25.06.2013
Сообщений: 12
|
|||||||||
| 25.06.2013, 19:02 [ТС] | |||||||||
|
Dr_Quake,
![]() Именно от предшественника мне достался код, который, видимо, рассуждал как Вы. Посидел, подумал и понял, что проще все заново написать. vxg,
Unwebo,
0
|
|||||||||
|
Заблокирован
|
|
| 25.06.2013, 20:18 | |
|
Асинхронная работа с WS - тема нескольких глав книги... Книг несколько, смотри сам, будут конкретные вопросы - уже тут, хотя там не вопросы, там банально подбор после прохода по этим граблям.
0
|
|
|
0 / 0 / 0
Регистрация: 25.06.2013
Сообщений: 12
|
||
| 26.06.2013, 08:57 [ТС] | ||
|
0
|
||
|
Модератор
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
|
||||||||||||||
| 26.06.2013, 09:24 | ||||||||||||||
|
---- так или иначе вот для примера клиент
---- wait for server... connected message size: 1024 nessages count: 100000 messages per second: 110253 ---- несложно увидеть что
0
|
||||||||||||||
|
0 / 0 / 0
Регистрация: 25.06.2013
Сообщений: 12
|
|
| 26.06.2013, 12:05 [ТС] | |
|
Почему вы отправляете сообщения в один сокет? Для каждого запроса нужно открывать свое соединение, отправлять сообщение и считывать первые байты ответа.
PS: генератор трафика HTTP, сокеты - linux.
0
|
|
|
Заблокирован
|
|
| 26.06.2013, 12:09 | |
|
Хм, а ты это, многопоточное программирование не осилил что ли? WSA_ASYNC нафиг не нужен в таком раскладе - много потоков должно быть у тебя.
И да, ты не знаешь основ TCP если пытаешься такое делать и потом на скорость жалуешься.
0
|
|
|
Модератор
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
|
||||||||||||
| 26.06.2013, 13:48 | ||||||||||||
|
клиент
0
|
||||||||||||
|
Заблокирован
|
|
| 26.06.2013, 13:52 | |
|
@vxg, всё просто - 65000 сокетов всего допустимы в IP для TCP, ибо сокеты привязаны таки(!!!) к портам. Для таких задач и тестов НЕЛЬЗЯ использовать TCP, дело в его принципе - минимум 4 пакета пинг-понга на установление сессии, минимум 2(controlled) на конец, на каждый делей сети L2 в 1 фрейм, выводы очевидны.
0
|
|
| 26.06.2013, 15:19 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 25.06.2013
Сообщений: 12
|
|||||
| 26.06.2013, 16:43 [ТС] | |||||
|
Dr_Quake,
vxg,
0
|
|||||
|
Заблокирован
|
|
| 26.06.2013, 16:54 | |
|
@sportsoft, извини, но с такими познаниями тебе нечего делать в программировании. Ты основ не знаешь.
0
|
|
|
Модератор
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
|
||
| 26.06.2013, 16:59 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 25.06.2013
Сообщений: 12
|
|
| 26.06.2013, 18:07 [ТС] | |
|
Dr_Quake,
Я бы воздержался от таких высказываний с Вашей стороны. Если Вы настолько умны, могли бы помочь не словом, а делом. vxg, Это была очепятка, но смысл ясен. Опять же, если это поможет, повторюсь: Задание на практику написать приложение на C/C++ - Генератор/Анализатор трафика. Платформа - только Linux. Генератор должен отправлять только HTTP-пакеты (на данный момент). Каждый пакет - новое соединение. Анализ осуществляется путем обработки кода ответа HTTP на запрос и временем получения этого ответа.
0
|
|
|
Модератор
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
|
||
| 26.06.2013, 23:50 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 25.06.2013
Сообщений: 12
|
||
| 27.06.2013, 09:34 [ТС] | ||
|
0
|
||
|
Модератор
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
|
||
| 27.06.2013, 13:04 | ||
если взять на вооружение фразу про то что программа будет соединяться с реальным удаленным ресурсом то ты вообще никогда не получишь таких психопатических скоростей потому как на той стороне сервер 1 работает с "продыхом" (задержкой между проверкой наличия входящих подключений) 2 упадет или забанит тебя на второй секунде как атакующего.
0
|
||
| 27.06.2013, 13:04 | |
|
Помогаю со студенческими работами здесь
20
Как ускорить работу макроса Как ускорить работу JavaScript? Как ускорить работу программы
Как ускорить работу ffmpeg? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|