|
0 / 0 / 0
Регистрация: 25.06.2013
Сообщений: 12
|
|
Как ускорить работу сокетов?25.06.2013, 13:20. Показов 5454. Ответов 21
Метки нет (Все метки)
Добрый день,
Руководитель дал задание на практику написать приложение на C/C++ - Генератор/Анализатор трафика. Ранее я писал что-то подобное, только на C# с использованием асинхронных сокетов. Попробывал обычные сокеты (connect, send, recv) - работает медленно, нужна скорость хотя бы 1000 запрос/с. Далее поискал в Интернете - нашел пример неблокирующих сокетов, но как я понял - он работает только для сервера (эхо-сервер). Подскажите, как реализовать поставленную задачу?
0
|
|
| 25.06.2013, 13:20 | |
|
Ответы с готовыми решениями:
21
Как ускорить работу IJ? Как ускорить работу? Как ускорить работу приложения? |
|
Заблокирован
|
|
| 25.06.2013, 15:23 | |
|
Какой такой анализатор без снифа? Задача неясна.
0
|
|
|
Модератор
3406 / 2177 / 354
Регистрация: 13.01.2012
Сообщений: 8,444
|
|
| 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
|
||
|
Модератор
3406 / 2177 / 354
Регистрация: 13.01.2012
Сообщений: 8,444
|
||||||||||||||
| 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
|
|
|
Модератор
3406 / 2177 / 354
Регистрация: 13.01.2012
Сообщений: 8,444
|
||||||||||||
| 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
|
|
|
Модератор
3406 / 2177 / 354
Регистрация: 13.01.2012
Сообщений: 8,444
|
||
| 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
|
|
|
Модератор
3406 / 2177 / 354
Регистрация: 13.01.2012
Сообщений: 8,444
|
||
| 26.06.2013, 23:50 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 25.06.2013
Сообщений: 12
|
||
| 27.06.2013, 09:34 [ТС] | ||
|
0
|
||
|
Модератор
3406 / 2177 / 354
Регистрация: 13.01.2012
Сообщений: 8,444
|
||
| 27.06.2013, 13:04 | ||
если взять на вооружение фразу про то что программа будет соединяться с реальным удаленным ресурсом то ты вообще никогда не получишь таких психопатических скоростей потому как на той стороне сервер 1 работает с "продыхом" (задержкой между проверкой наличия входящих подключений) 2 упадет или забанит тебя на второй секунде как атакующего.
0
|
||
| 27.06.2013, 13:04 | |
|
Помогаю со студенческими работами здесь
20
Как ускорить работу макроса Как ускорить работу JavaScript? Как ускорить работу программы
Как ускорить работу ffmpeg? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|