我正在开发一个需要实时通信和文件上传的应用程序。我最好是通过多路复用 channel 的单个连接来完成此操作。我看到websocket协议(protocol)有一个扩展,允许多路复用,但是我认为还没有浏览器支持(如果有的话)。我不知道如何使用它。

我想用Java开发服务器。用于socketio的节点服务器在 namespace 上出现了一个奇怪的错误,而Java服务器在 namespace 上无法正常工作。

我想要一个简单的多路复用系统,以便可以同时发送一些json和二进制文件。为此是否存在某些东西,或者我需要自己创建一些东西,如果可以的话..我应该从哪里开始?

最佳答案

我想指出的一件事是复用不是关于支持多种消息格式的,因为webSocket没有指定主体格式,所以它类似于HTTP,您可以发送JSON,图片,二进制...任何您想要的东西。

复用是关于如何重新使用一个连接 channel 来支持多种通信(电信中的类似概念),通常用于以下情况中:多个模块需要Web套接字通信,但只允许一个连接(例如SocketJS),然后我们可以采用Multiplexing技术来拯救世界。

更多信息请参见:
https://github.com/sockjs/websocket-multiplex
https://www.rabbitmq.com/blog/2012/02/23/how-to-compose-apps-using-websockets/

10-08 11:32