Android устройства, подключенные к NSD, как отправлять сообщения с помощью сокетов (клиент-клиент)?
Недавно я настроил P2P-связь в моем приложении на нескольких устройствах с помощью этого руководства: http://developer.android.com/training/connect-devices-wirelessly/nsd.html
Итак, теперь я могу найти другие устройства в моей сети, на которых работает мое приложение.
Теперь я хочу отправлять сообщения между клиентами. Может быть 1,2 или более клиентов, но сообщения будут идти только к 1 клиенту одновременно, больше похоже на запрос PING, но с некоторым текстом.
Я читал о сокетах, и, кажется, to be the way to go (будет общаться с устройствами iOS также в ближайшем будущем). Но.. Во всех примерах и учебниках я обнаружил, что в группе клиентов есть сервер, через который проходят все сообщения. Я просто хочу отправить сообщение от клиента к клиенту.
В основном я хочу:
- список всех устройств / клиентов в моей сети под управлением моего приложения, готово! (Имеет IpAdress, порт и т. д. Для всех них)
- щелкните один клиент и отправьте ping / сообщение
Любые намеки или примеры посмотреть?
Должны ли все клиентские устройства также иметь "сервер"?
С уважением,
Кристоффер
1 ответ:
Так что я наконец-то понял.
Я изучал сокеты немного более подробно. Пример:
Http://docs.oracle.com/javase/tutorial/networking/sockets/clientServer.html
И понял, что мне нужен сервер на всех клиентах, чтобы заставить его работать должным образом. Так что теперь у всех клиентов есть ServerSocket, прослушивающий входящие соединения, и отдельный клиентский сокет для отправки сообщений на эти "серверы".
Похоже, что все это работает с подключениями как к android, так и к android. устройства iOS.
Несколько рабочих примеров использования этих сокетов:
Http://examples.javacodegeeks.com/android/core/socket-core/android-socket-example/
/ Кристоффер
Comments