python websocket sent 1011错误
·
Python中,websocket服务器端有有默认的发向客户端的pong心跳包,超时时间40s,客户端没有正确响应,服务器端就会出现下述错误:
服务器调用websocket:
start_server = websockets.serve(
handle_client,## 处理客户端连接的异步函数
"0.0.0.0", # 监听所有IP地址
8080 # 使用端口8080
)
错误提示:
Error: sent 1011 (unexpected error) keepalive ping timeout; no close frame received
测试方法:
服务器调用websocket的时,增加心跳包时间参数,看报警时间是否变化。如果是这个原因,错误提示会从40秒延长到100秒。
start_server = websockets.serve(
handle_client,## 处理客户端连接的异步函数
"0.0.0.0", # 监听所有IP地址
8080, # 使用端口8080
ping_interval=50,#心跳包发送间隔时间
ping_timeout=50 #心跳包超时时间
)
更改办法:
方法一、客户端增加响应心跳包的代码;
方法二、将心跳包两个参数设为None,
start_server = websockets.serve(
handle_client,## 处理客户端连接的异步函数
"0.0.0.0", # 监听所有IP地址
8080, # 使用端口8080
ping_interval=None,#心跳包发送间隔时间
ping_timeout=None #心跳包超时时间
)
更多推荐



所有评论(0)