如何解决Brython socketio websocket 无法建立连接
我在使用 socket.io(Flask 后端)时遇到了 Brython 的问题。 前端代码在这里:
from browser import document,html,window,local_storage,console
import random,time
#Global variables
btn = document['btn']
out = document['out']
#Setting Local Storage
storage = local_storage.storage
#Setting Websocket
socket = window.io.connect('localhost:5000/room',{'transports': ["websocket"]})
# Diceroller
def diceroller(ev):
#Local variables
player = document['player'].value
action = document['action'].value
dice_pile = document['dice-pile'].value
dice = document['dice'].value
mod = document['mod'].value
date = time.asctime()
total = 0
salt = str(random.randint(10000,99999)) #for the local storage
json = {'player':player,"action":action,"dice_pile":dice_pile,"dice":dice,"mod":mod,"date":date,"results":[],"total":total}
socket.emit("roll",json)
#Event Listener
btn.bind('click',diceroller)
def show_result(data):
#local storage log
storage['roll_log'+salt] = data['ouput']
#parsing output to HTML
output_html = html.P(data['output'])
out.insertAdjacentElement('afterbegin',output_html)
socket.on('roll_result',show_result)
#print the roll log
for i in storage.values():
out <= html.P(i)
#Firefox Issue
def close_socket(ev):
socket.close()
window.addEventListener('beforeunload',close_socket)
问题是 Firefox 和 Chrome 无法与 websocket 建立连接。
Firefox 说:加载页面时,与 ws://localhost:5000/socket.io/?EIO=4&transport=websocket 的连接中断。
脚本是在页面顶部还是底部都没有关系。同样的错误。 有人说你应该在“卸载之前”关闭连接。我处理这个。同样的错误。
Chrome 说:socketio.min.js:6 WebSocket 连接到 'ws://localhost:5000/socket.io/?EIO=4&transport=websocket' 失败:
顺便说一下,这是一个骰子滚轮应用程序。如果你好奇。
有人能解释一下这个问题吗? 我完全没有子弹了...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。