Необработанный сокет позволяет вам общаться с протоколами более низкого уровня, такими как Ethernet, IP и т. Д. Да, снижение может дать вам некоторые преимущества, однако вы должны сбалансировать это с тем, что вы теряете.
В этом случае вы упоминаете, что сервер написан для использования протокола Udp, поэтому в сети связи должны быть Udp. Теперь, если вы собираетесь использовать необработанный сокет, вам нужно будет обязательно отправить данные вашего приложения, инкапсулированные в пакет Udp. Вам также нужно будет написать код, чтобы убедиться, что вы подчиняетесь протоколу UDP и конечному автомату, чтобы на сервере ваш клиент представлялся просто как другой клиент UDP. Выполнение всего этого требует написания большого количества кода и имеет некоторые недостатки, связанные с повышенным техническим обслуживанием, повышенными затратами на правильную работу и т. Д.
Я не полностью прочитал статью, которую вы связали выше, но вопрос, который вы должны себе задать, заключается в том, можете ли вы получить результаты, приведенные в этой статье, и воспроизвести их для своего сценария?
По-моему, вы должны сначала попытаться выяснить, почему ваш клиент такой медленный. Каковы ваши требования? Есть ли у вас какие-либо показатели относительно того, что представляет собой хороший, быстрый клиент? Если бы я был вами, я бы сначала измерил текущую реализацию, имея в виду некоторые метрики, которые полезны для сценария, например, количество переданных байт / сек и т. Д. Затем я бы профилировал клиента, чтобы увидеть, где он тратит слишком много времени, и попытаться выяснить, смогу ли я уменьшить накладные расходы и сделать это намного быстрее.
Подводя итог, найдите сбережения в верхней части стека (т. Е. В вашем приложении), прежде чем спускаться в стек. Если ваше приложение написано не очень хорошо, то, независимо от того, насколько низко вы пойдете, вы не увидите ожидаемой производительности.