如何使用TcpClient分别发送消息

时间:2019-05-13 16:11:41

标签: c# networking tcp xamarin.android tcpclient

我有两台设备(例如Android),一台充当服务器,另一台充当客户端。

例如,应用目的是使两个设备(目标是两个以上的设备)同时播放歌曲。

当服务器正在播放时客户端进入房间 时,服务器使用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是服务器客户端的名称。

谢谢。

0 个答案:

没有答案