Pull to refresh

Comments 11

Естественным вариантом для меня стала реализация с использованием ассемблера.

Вы — представитель вымирающего вида?! :)
Почему же? Там все просто, ассемблер доступен был на тот момент… Да и люблю ассемблер, посему мне было реально интересно это писать )
соответственно для windows forms и console приложения

Только не windows forms :)
Да, простите, поправил.
Есть пара мест, где можно еще улучшить программу)
Там, где читаем структуру CONNECT_SOCK4, recv может вернуться, прочитав меньше 9 байт.
Там, где передаём полезные данные, send может вернуться, отослав меньше данных, чем было в буфере.
Оно конечно маловероятно при маленьких размерах буферов, да и алгоритм Нагла никто не отменял. Но с первой проблемой я встретился, когда пытался отправить структуру CONNECT_SOCK4 сокс-серверу несколькими вызовами send, т.к. не охота было выделять память и копировать туда параметры.
Вполне возможно, я указывал, что программа не оптимизирована. По факту на текущий вариант находящийся в архиве + статью я потратил часа два-три… Об оптимизации даже не задумывался. Те же варианты, которые у меня сделаны в виде библиотеки под линковку в C — там я оптимизировал уже более конкретно, но соответственно и времени на это было потрачено конечно больше.
UFO just landed and posted this here
Не очень люблю вирусы. В плане их распространения. Хотя сам изучал достаточно плотно и имел коллекцию в размере около 2000 тушек с исходными кодами… На самом деле именно компактность кода и часто достаточно интересные варианты реализации тех или иных задач в вирусах просто впечатляют.
Просьба не в тему: посоветуйте литературу по сокетам.
В основном я пользовался документацией с сайта msdn.microsoft.com + offline версия msdn. ну и при отладке наблюдал все в софтайсе. Хорошие статьи можно найти и на wasm.ru
Sign up to leave a comment.

Articles