Android-устройства, связанные с NSD, как отправлять сообщения с помощью сокетов (Client-Client)?

Недавно я установил P2P-связь в своем приложении в нескольких устройствах с помощью этого руководства: http://developer.android.com/training/connect-devices-wirelessly/nsd.html

Итак, теперь я могу найти другие устройства в своей сети, которые запускают мое приложение. Теперь я хочу отправлять сообщения между клиентами. Может быть 1,2 или более клиентов, но сообщения будут поступать только на 1 клиент за раз, больше как запрос PING, но с некоторым текстом.

Я читал о сокетах, и, похоже, это путь (будет общаться с устройствами iOS также в ближайшем будущем). Но .. Во всех примерах и учебниках я обнаружил, что в группе клиентов есть сервер, через который проходят все сообщения. Я просто хочу отправить сообщение от клиента к клиенту.

В основном я хочу:

  1. Перечислите все устройства / клиенты в моей сети, на которых запущено мое приложение, DONE! (Имеет ли IpAdress, порт и т. Д. Для всех)
  2. Нажмите один клиент и отправьте сообщение / сообщение

Любые намеки или примеры, на которые нужно смотреть? Должны ли все клиентские устройства иметь «сервер»?

С уважением, Кристоффер

Поэтому я понял это наконец.

Я изучал сокеты немного подробнее. например:

http://docs.oracle.com/javase/tutorial/networking/sockets/clientServer.html

И понял, что мне нужен сервер для всех клиентов, чтобы он работал правильно. Итак, теперь у всех клиентов есть ServerSocket, который слушает входящие соединения и отдельный клиентский сокет для отправки сообщений этим «серверам».

Все это, похоже, работает с подключениями как к устройствам Android, так и к iOS.

Несколько рабочих примеров с использованием этих сокетов:

http://examples.javacodegeeks.com/android/core/socket-core/android-socket-example/

http://thinkandroid.wordpress.com/2010/03/27/incorporating-socket-programming-into-your-applications/

/ Кристоффер