Страница 1 из 1

Посоветуйте, что использовать для UDP

СообщениеДобавлено: 25.09.2015 01:22:47
Cheb
Если у кого нибудь есть опыт работы с UDP на фпц, прошу поделиться советами.

Нужно, чтобы было кросс-платформенное, чтобы мне не пришлось переписывать код для линукса, и низкоуровневое, для прямой работы с транспортным слоем.

Сеансовый уровень ("ау, есть кто по этому порту?" - "моя твоя понимай") буду по любому делать свой, поэтому готовые велосипеды типа "сервер в одном классе" нужны разве что для разбора внутренностей.

Да, ещё должно быть совместимо с GPL.

На вскидку нашёл в стандартной поставке fcl-net. Это пойдёт?

Re: Посоветуйте, что использовать для UDP

СообщениеДобавлено: 29.09.2015 15:13:28
Kitayets
Да сокеты есть, как в обычном (СИ-шном) виде - sockets (rtl), так и в объектно-потоковом - ssokets (fcl-net). Все на чистом паскале, кроссплатформенно.

Если нужны какие-то уже известные прикладные протоколы (ftp/http/smtp/ssl/ и т.д.) - то synapse или Indy.

Re: Посоветуйте, что использовать для UDP

СообщениеДобавлено: 05.04.2016 01:47:03
CRobin
Хочу поднять тему. Задача такая же. Использую TCP сокеты через sockets, а вот с UDP проблема, есть ли в sockets (rtl) поддержка UDP?

Re: Посоветуйте, что использовать для UDP

СообщениеДобавлено: 05.04.2016 02:27:20
скалогрыз
CRobin писал(а): есть ли в sockets (rtl) поддержка UDP?

если кратко, то да - есть

вызываешь функцию fpsocket(), и третьим параметром передёшь IPPROTO_UDP.
потом привзяваешь к адресу прослушки (частенько этот адрес является 255.255.255.255) и всё! слушаешь/посылаешь датаграмы.

Re: Посоветуйте, что использовать для UDP

СообщениеДобавлено: 26.04.2016 01:36:51
CRobin
Вобщем, кросплатформенное решение это использование функций fp*, главное соблюдать чтоб паскалевские типы совпадали с типами родных сишных функций.