当我在服务器上使用python2.7启动websockify时,没有出现任何警告,一切正常。 但是当第一个连接出现时,我认为base64存在问题:
1: <ip>: Plain non-SSL (ws://) WebSocket connection
1: <ip>: Version hybi-13, base64: 'False'
1: connecting to: <myserver.com>:64749
在客户端,我在Safari中遇到错误,但它也告诉我连接已经完成,我可以发送和接收消息:
WebSocket network error: The operation couldn’t be completed. Connection refused ws://localhost:17523
答案 0 :(得分:1)
关于连接到ws:// localhost:17523的错误是无害的。为了测试WebSocket API是否支持二进制数据,必须实际实例化WebSocket对象,但是,WebSocket对象必须使用实际目标进行实例化,因此websock.js使用localhost端口来测试连接。浏览器抱怨连接失败但websock.js能够使用该对象进行测试。
base64: False
表示客户端和服务器已经协商使用原始二进制数据,并且不需要使用base64编码的字符串来对数据进行编码。在支持WebSockets但不支持二进制数据的旧浏览器(或使用web-socket-js仿真器)中,Base64编码是必需的。
由于您成功发送和接收数据,我认为这个问题只是验证您看到的消息不是主要问题吗?