Как мне обмениваться данными между устройствами, подключенными к точке доступа Wi-Fi?

У меня есть пара телефонов и еще пара компьютеров, подключенных к точке доступа Wi-Fi, и мне нужно отправлять и получать сообщения между ними, я имею в виду, что любой может отправить сообщение кому угодно и получить сообщение от кого угодно.

Я хочу писать приложения на телефонах (Symbian OS, платформа S60) или ПК (Windows), но не могу понять, как мне настроить клиент или сервер, поскольку любое из этих устройств может быть клиентом или сервером.

Если я использую сокеты, нужно ли мне создавать сценарии для ServerSockets, а также для Sockets на каждом из этих устройств? Могу ли я использовать протокол HTTP?

В качестве альтернативы любой стандартный протокол, который я мог бы использовать для реализации этого?


person Kevin Boyd    schedule 06.01.2010    source источник


Ответы (2)


Вы будете транслировать UDP-пакеты, которые будут приходить на каждое устройство в сети Wi-Fi. Вам придется изобрести свой собственный протокол, чтобы определить идентичность каждого устройства, поскольку вы не сможете легко определить IP-адреса своих сетевых устройств. Без написания алгоритма выборов вам будет сложно использовать архитектуру клиент / сервер, поэтому просто используйте двухточечную (P2P).

Google для вещания UDP и прочтите соответствующие RFC на ietf.org.

person Malcolm Sparks    schedule 06.01.2010
comment
Ах ой, не заметил ни к какой части. Да, UDP звучит правильно. - person spieden; 07.01.2010

Похоже, вы ищете типичную одноранговую связь по IP. Я полагаю, что другие требования будут определять, какой транспорт вы используете (HTTP, сырые сокеты и т. Д.), Но да: каждый узел будет и клиентом, и сервером. Вы могли бы использовать MDNS (http://www.multicastdns.org/), чтобы помочь узлам найти друг друга специальным образом.

person spieden    schedule 06.01.2010
comment
что делает этот MDNS? Я не совсем понял концепцию? - person Kevin Boyd; 07.01.2010
comment
Я не понимал, что ты просто хочешь вести трансляцию. MDNS позволит узлам (телефонам, ПК) обнаруживать друг друга по имени произвольным образом, но это не имеет значения, если вы просто хотите транслировать. - person spieden; 08.01.2010