1

当我在服务器上使用 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
4

1 回答 1

1

连接到 ws://localhost:17523 的错误是无害的。为了测试 WebSocket API 是否支持二进制数据,需要实际实例化一个 WebSocket 对象,然而,WebSocket 对象必须用实际目标实例化,因此 websock.js 使用 localhost 端口来测试连接。浏览器抱怨连接失败,但 websock.js 能够使用该对象进行测试。

表示客户端和服务器已协商使用base64: False原始二进制数据,不需要使用 base64 编码的字符串对数据进行编码。Base64 编码在支持 WebSocket 但不支持二进制数据的旧浏览器(或使用 web-socket-js 模拟器)中是必需的。

由于您已成功发送和接收数据,我假设这个问题只是验证您看到的消息不是主要问题是否正确?

于 2013-05-13T18:41:59.800 回答