Как сделать так, чтобы сообщения отправлялись отдельно с помощью TcpClient - PullRequest
0 голосов
/ 13 мая 2019

У меня есть два устройства (например, Android), одно работает как сервер, а второе как клиент.

Цель приложения, например, состоит в том, чтобы сделать оба устройства (амбиции более2 устройства) одновременно воспроизводить песню.

Когда клиент входит в комнату , когда сервер уже играет , сервер отправляет несколько сообщений, используя TcpClient.Write() в следующем порядке:

UPDATE_PARTICIPANTS - синхронизировать имена клиентов между подключенными устройствами и новым подключенным клиентом.

PAUSE - приостановить текущую воспроизводимую песню, не относящуюся к новому клиенту, релевантную для других подключенных клиентов.

PREPARE -Подготовьте клиент MediaPlayer (получите файл MP3 с сервера).

SYNC - найдите местоположение сервера в файле.

Проблема заключается в том, что клиент получает все 3 сообщения в одномПрочитайте, поэтому обрабатывайте это сообщение как одно сообщение, вызывая ошибки и игнорируя другие сообщения.

IE:
510 | ServerName | ClientName520 | http://192.168.1.1:80

Где 510 - код протокола для UPDATE, а 520 - код протокола для Prepare, '|'является разделителем, а ServerName - это имя клиента сервера.

Заранее спасибо.

...