使用 websocket 时出现“TypeError: a float is required”

Posted

技术标签:

【中文标题】使用 websocket 时出现“TypeError: a float is required”【英文标题】:“TypeError: a float is required” occurred when using websocket 【发布时间】:2017-09-14 05:52:25 【问题描述】:

当我尝试使用websocket.create_connection 创建连接时,我遇到了TypeError: a float is required

full_url = "wss://myurl:443/abc/def/ghi?id=asdf3nnasdfj34nasdf23"
header_conn = dict()
header_conn['Authorization'] = "Auth service=<my authorization token goes here>"  

ws = websocket.create_connection(full_url, header_conn)

显示给我的例外是:

  File "try.py", line 268, in <module>
    ws = websocket.create_connection(full_url, headers_conn1)
  File "/usr/local/lib/python2.7/dist-packages/websocket/_core.py", line 487, in create_connection
    websock.connect(url, **options)
  File "/usr/local/lib/python2.7/dist-packages/websocket/_core.py", line 211, in connect
    options.pop('socket', None))
  File "/usr/local/lib/python2.7/dist-packages/websocket/_http.py", line 71, in connect
    sock = _open_socket(addrinfo_list, options.sockopt, options.timeout)
  File "/usr/local/lib/python2.7/dist-packages/websocket/_http.py", line 106, in _open_socket
    sock.settimeout(timeout)
  File "/usr/lib/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
TypeError: a float is required

知道我错过了什么吗?我看到了this 链接,但我不确定如何在我的案例中应用相同的解决方案。

【问题讨论】:

【参考方案1】:

websocket.create_connection 似乎将timeout 值作为第二个参数。在您的情况下,header_conn 被解释为 timeout 参数。

试试

ws = websocket.create_connection(full_url, header=header_conn)

【讨论】:

以上是关于使用 websocket 时出现“TypeError: a float is required”的主要内容,如果未能解决你的问题,请参考以下文章

在牛仔 websocket 处理程序中使用 gproc 注册两个本地进程时出现问题

为 Kaleido 使用 Websocket 连接时出现“连接未在 send() 上打开”错误

访问 WebSocket 时出现 InvalidStateError

创建 websocket 连接时出现 System.Net.Sockets.SocketException

尝试通过 websocket 转换和发送时出现空指针异常

在 node.js 服务器上使用 nginx 时出现“websocket 连接无效”