我正在开发一个查看器应用程序,其中服务器捕获图像,执行一些图像处理操作,并需要在HTML5画布上显示给客户端。我编写的服务器使用VC++,并使用http://www.codeproject.com/Articles/371188/A-Cplusplus-Websocket-server-for-realtime-interact。
到目前为止,我已经实现了所需的功能。现在我需要进行优化。参考了一个聊天应用程序,该应用程序旨在发送字符串,因此我将数据编码为7位格式。这会造成额外负担。我需要二进制数据传输能力。因此我修改了编码和帧(现在操作码为130,用于二进制消息,而不是129)。我可以说服务器部分没有问题。我观察了输出帧,它遵循协议。我在客户端遇到了问题。
每当客户端接收到传入消息时,如果所有字节都在限制范围内(0到127),它就会调用onMessage(),我可以成功解码传入消息。然而,只要有一个大于127的字符引入,客户端就会调用onClose()。连接被关闭,我无法找到原因。请帮助我解决这个问题。
提示:我正在使用Chrome 22.0和Firefox 17.0