【发布时间】:2014-03-16 20:52:20
【问题描述】:
我正在使用 HTML5 创建一个在线游戏。我打算使用 JSON 字符串通过 Websockets 进行数据通信,因此典型的字符串将具有被调用的操作以及与之一起使用的数据:
{action: "chat", user: <cookie>, message: "Hello, Java!"}
服务器端,解析JSON字符串,然后通过Case语句,将数据发送到与指定动作匹配的方法:
switch (message.action) {
case "chat":
// send message
break;
}
问题是,一旦我完成了大约 20 到 30 次操作,Case/Switch 语句在这方面似乎确实效率低下且混乱。有没有更有效的方法来通过 WebSockets 处理客户端-服务器通信?有人建议构建 TCP 数据包并发送这些数据包。我不知道如何在 JavaScript 中做到这一点。
【问题讨论】:
-
什么是服务器端环境?
-
HashMap 以 action 为键,Runnable 实例为值?然后它是一次性初始化,从那一刻起只需一次查找。建议这让我的头发有点竖起来,但我脑海中浮现的另一件事是“反思”,我真的会作为最后的手段使用。
-
它是一个 Play Framework Java 后端
-
为什么不为不同的操作创建不同的端点或“方法”(我对 websocket 不太熟悉...)?
-
那不就是我在帖子中提到的 Switch/Case 语句吗?
标签: java javascript json websocket packet