LINUX.ORG.RU

Протокол для обмена сообщениями между сервером и клиентом на UDP

 , ,


0

2

Приветствую!

Ищу протокол для обмена сообщениями между сервером и клиентами на UDP.

Требования:

1) Возможность включить шифрацию (опционально)

2) Возможность удостовериться в доставке сообщения

3) Кросплатформенность на стороне клиента, *nix на стороне сервера

4) Широкая разновидность типов сообщений: от пинг-понга до обмена 10GB-файлами.

openvpn, чо, будешь поверх него пинговать и файлы гонять

anonymous ()

Может не в тему, но я подсел на WebSockets. Не знаю, что там с шифрацией (я без нее делаю), может wss делает это. Сообщения любого размера - кажись есть. Удостовериться в доставке? Может тоже есть. Режим работы поверх UDP кажется есть тоже, но зачем UDP?

I-Love-Microsoft ★★★★★ ()

будь мужыком, возьми protobuf и запили свой :)

pon4ik ★★★★★ ()
  • Зачем именно поверх UDP, тем более, если тебе «2) Возможность удостовериться в доставке сообщения» нужно? Юзай TCP, там это уже будет.
  • Если TCP для тебя слишком жирно, посмотри в сторону SCTP.
  • Для чего конкретно нужен протокол? Hint: формулировка «для обмена сообщениями между сервером и клиентами» слишком пространна.

Ответь сначала на эти вопросы, потом можно будет над конкретным решением думать, а иначе это гадание на соплях девственницы получается.

cherry-pick ()

Ищу протокол для обмена сообщениями между сервером и клиентами на UDP.

2) Возможность удостовериться в доставке сообщения

Клиника.

Deleted ()
Ответ на: комментарий от cherry-pick

кросплатформенность на стороне клиента, *nix на стороне сервера
посмотри в сторону SCTP

Nope.

edigaryev ★★★★★ ()

на UDP
Кросплатформенность
до обмена 10GB-файлами.

Ты ещё ничего не сделал, а я уже знаю, как твой протокол взломать.

ziemin ★★ ()
Ответ на: комментарий от edigaryev

В оффтопике чего, серьезно драйвера нет для SCTP? Даже либ никаких нету для костылестроения?

cherry-pick ()
Ответ на: комментарий от cherry-pick

Есть http://www.bluestop.org/SctpDrv/ .

SctpDrv works on 32-bit (x86 aka i386) Windows XP and 32 and 64-bit (x64 aka x86_64) versions of Windows Vista and Window 7.
It can work over either IPv4 or IPv6, and doesn't require IPv6 to be installed.

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

Atlant ★★★★★ ()
Ответ на: комментарий от Harald

DTLS м.б.?

Не совсем то, что я хочу. Оно на транспортном уровне, а я просил проток для прикладного.

Rimbaud ()
Ответ на: комментарий от I-Love-Microsoft

WebSockets
Режим работы поверх UDP

интересно, посмотрю будет ли работать...

Rimbaud ()
Ответ на: комментарий от cherry-pick

Для чего конкретно нужен протокол? Hint: формулировка «для обмена сообщениями между сервером и клиентами» слишком пространна.

whatsapp юзаешь? вот приблизительно то же самое, просто боты будут друг другу гонять состояния...

Rimbaud ()
Ответ на: комментарий от ziemin

Ты ещё ничего не сделал, а я уже знаю, как твой протокол взломать.

Подробности, Ванга.

Rimbaud ()
Ответ на: комментарий от pon4ik

будь мужыком, возьми protobuf и запили свой :)

про protobuf я читал, просто проблема в том, что вся остальная часть приложения будет на чистом си, а как я понимаю protobuf на плюсах. все же не хочется таскать плюсы в проджект ;)

Rimbaud ()

UDP

Возможность удостовериться в доставке сообщения

Ты неправ.

А про «от пинг-понга до обмена 10GB-файлами» - это скорее просто сокет и вперед, пиши сам.

upcFrost ★★★★★ ()
Ответ на: комментарий от cherry-pick

т.е. после write я могу быть уверен что сообщение доставлено по tcp ?

x905 ★★★★★ ()
Ответ на: комментарий от x905

TCP тебе гарантирует, что ты стопроцентно знаешь, дошло сообщение, или нет. Протокол гарантирует. google://TCP В UDP ты просто отправляешь сообщение, а дойдет оно, или нет, ты никогда не узнаешь.

cherry-pick ()
Ответ на: комментарий от cherry-pick

после успешного возврата из write сообщение доставлено 100% ?

x905 ★★★★★ ()
Ответ на: комментарий от anonymous

вспомнил, есть еще OpenDDS - там udp стрим есть, и конечно же еще webrtc

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.