我需要维护之间的连接的服务器和多的客户,使得客户可以发送命令,并将服务器触发事件。服务器基本上是一个音乐播放机,以及该客户发送命令就像"Play()"、"暂停()","GetPlaylists()",等等。服务器上的侧面需要能够告诉客户的东西像"SongEnded"或"PlayerPaused".而且,它需要能够发送的一些数据,以及提出(如目前的歌、唱片的图像,播放列表,等等)。我可能会引起继续前进,创造一座自己和建立自己的协议对于处理上述所有情况,但是,机会是有人已经这样做过我的,所以我真正想要的是一个框架作出实时的通信之间的服务器和客户。网。我已经看了xml-rpc例如,但是不确定我应该怎么处理"OnClientSend"。此外,如果我没有记错的话,xml-rpc是由是休息-等。我也看着wcf,但是因为我没有经验我不知道从哪里开始,以及如何主机服务器中的一个简单的控制台应用程序。

重要的是: 客户需要的可能不是。网。
重要的是: 这需要能够连接到java(安卓).
重要的是: 主要平台是windows(服务器和客户)和安卓(client)。
重要的是: 没有流的声音。然而,图像的需要的发送。

任何思想的解决方案将不胜感激。此外,如果你有链接到一个良好的框架,或说明如何使用的组件已经存在的内部。净我真的很高兴。

[编辑] 问题是,当发送数据在座有没有保证(!) 那个包裹送你会读通过的服务器在同一时间。我可能会送50,100,然后50字节,服务器可读,作为一个200byte块,或者第100 100等,这意味着,我需要创建一个缓冲区,在阅读消息,直到我知道某些(这是问题),我收到一个整体的消息(和没有更多)。

有帮助吗?

解决方案 4

我结束了创造我自己简单的协议,我可以很容易地实现几种语言。我实现想要的结果通过增加一个额外的层的缓冲区两侧的座,然后发送每一个消息随后由一个字节的序列,告诉另一侧,这是结束的消息。我也加入id的消息使spesial"$Return"的信息。

消息是简单化的课程使用的序列化程序.课程产生的文件.

其他提示

ZeroMQ 看起来好适合你的问题。似乎你已经实现了类似的东西你自己。

  • 该Supersocket库,作为一个并发的框架。

  • 携带的消息inproc,IPC,TCP和多播。

  • 连接N-N在扇出pubsub、管道,并请求答复的模式。

  • 足够快的聚集产品和超级计算.

  • 异步I/O为可扩展的多消息-通过应用。

  • 大和活跃的开放源码社会。

  • 20多种语言,包括C、C++、Java.净,蟒蛇。

  • 大多数的操作系统包括Linux,Windows,OS X.

  • LGPL免费软件、商业支持,由于公司。

你也可以看看 Web sockets.。不仅限于通讯你可以一直延伸它为自己的目的。Web sockets是未来以及它的一部分HTML5。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top