检测夸脱客户端的断开连接

时间:2018-07-11 22:17:30

标签: python flask websocket quart

我正在尝试使用python网络框架夸脱(带有asyncio功能的烧瓶)制作网络游戏,到目前为止,我拥有服务器和客户端。我有一个断开客户端连接的系统,尽管我有问题。有时(通常是在重新加载页面时)从未触发删除系统。是否还有任何可能影响客户的因素?尽管我不知道会导致什么问题,但更新的客户端似乎更经常出现该问题。

这是我用于在玩家连接/断开连接时添加和删除玩家的系统:

async def wrapper(*args, **kwargs):
    global connected
    connected.add(websocket._get_current_object())

    clientIds.append(player_classes.ID(websocket._get_current_object(), 0))
    for IDS in clientIds:
        if(IDS.ws == websocket._get_current_object()):
            ids.append(str(IDS.id))


    try:
        return await func(*args, **kwargs)

    finally:
        for Player in Players:
            if(Player.id > 50):
                if(Player.ws == websocket):
                    connected.remove(websocket._get_current_object())
                    Player.alive = 0
                    for ID in clientIds:
                        clientIds.remove(ID)

0 个答案:

没有答案