我有两台设备(例如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是服务器客户端的名称。
谢谢。