Событие сокета для указанного клиента Android
Я пишу приложение для Android, которое подключается к сокету, реализуемому Node.JS + socket.io. Я использую AndroidAsync ( https://github.com/koush/AndroidAsync) для клиента Android. Я хочу испустить некоторые события, которые может прослушать только указанный клиент. Но я не могу найти способ присоединиться к комнате на Android-клиенте.
- Есть ли решение для присоединения комнаты на Android?
- Есть ли способ, чтобы клиент Android прослушивал указанные события (не все события), не используя место?
2 ответа
Да, используйте SocketIOClient.of для подключения к определенной конечной точке / каналу. Увидеть:
Вы получаете аналогичный обратный вызов подключения, который вызывается при подключении конечной точки, предоставляя новый socketioclient для этой конкретной конечной точки.
Когда клиент подключается на стороне сервера, у вас есть дескриптор сокета, и у него есть идентификатор socket.id
, Этот идентификатор уникален для каждого сокета, поэтому вы можете использовать его для идентификации сокетов.
Таким образом, при подключении вы можете сделать свои собственные массивы сокетов и вставить их туда. Затем вы можете перебирать их и генерировать любое сообщение.
Для этого не обязательно использовать встроенные комнаты, и вы можете легко создать свою.
Таким образом, определение сокетов по-своему - позволит вам лучше управлять ими и даст вам возможность отправлять сообщения на определенный сокет. Поскольку существует способ ссылки на него с использованием идентификатора или любого другого метода идентификации.