我需要维护服务器和多个客户端之间的连接,以便客户端可以发送命令,服务器触发事件。服务器基本上是一个音乐播放器,客户端发送诸如“Play()”、“Pause()”、“GetPlaylists()”等命令。服务器端需要能够告诉客户端诸如“SongEnded”或“PlayerPaused”。此外,还需要可以来回发送一些数据(如当前歌曲、专辑图片、播放列表等)。我当然可以自己创建一个套接字并创建自己的协议来处理上述所有场景,但很可能有人已经在我之前完成了这项工作,所以我真正想要的是一个实时框架—— .NET 的服务器和客户端之间的通信。我' 例如,我查看了 xml-rpc,但不确定我应该如何处理“OnClientSend”。另外,如果我没记错的话,xml-rpc 被制作成类似于 REST 的。我也看过 wcf,但由于我没有使用它的经验,我不知道从哪里开始,以及如何在一个简单的控制台应用程序中托管服务器。
重要提示:客户端需要能够不是 .NET。
重要提示:这需要能够连接到 java (android)。
重要提示:主要平台是 Windows(服务器和客户端)和 Android(客户端)。
重要提示:不进行音频流式传输。但是,需要发送图像。
任何解决方案的想法将不胜感激。此外,如果您有一个好的框架的链接,或者关于如何使用 .NET 中已经存在的组件的描述,我会非常高兴。
[编辑] 问题是当通过套接字发送数据时,不能保证(根本!)您发送的包将同时被服务器读取。我可能会再次发送 50,然后是 100,然后是 50 字节,但是服务器可能会将其读取为 200 字节的块,或者先发送 100,然后再发送 100 等,这意味着我需要创建一个缓冲区,读取消息直到我确定(这个是问题)我收到了整条消息(仅此而已)。