Websocket多消息处理
有时候我们需要通过一个websocket连接来同时收发多种消息,比如棋类游戏中,可能需要收发落子信息、游戏状态信息、玩家聊天信息等。
一个自然的实现思路是,在websocket传输的消息中加入消息类型字段,然后根据不同的消息类型,分别处理不同的消息。但是这样的处理方式会导致处理websocket消息的函数包含大量的if-else分支,代码不够简洁,不利于维护。
这篇文章介绍了一种更加利于维护的优雅的处理方式。
有时候我们需要通过一个websocket连接来同时收发多种消息,比如棋类游戏中,可能需要收发落子信息、游戏状态信息、玩家聊天信息等。
一个自然的实现思路是,在websocket传输的消息中加入消息类型字段,然后根据不同的消息类型,分别处理不同的消息。但是这样的处理方式会导致处理websocket消息的函数包含大量的if-else分支,代码不够简洁,不利于维护。
这篇文章介绍了一种更加利于维护的优雅的处理方式。