我正在开发一个 Java套接字程序,它可以托管在线回合制游戏。
所以首先阻止我的是服务器和前端之间的通信如何工作。
因为在每个请求/响应中,我都需要知道事件,状态,数据来处理游戏逻辑。
当用户创建发送消息的房间包含:
活动: createRoom
状态:请求
数据: roomName
所以首先我选择使用JSON
,但在解析它时有些不方便。
(我需要首先解析json中的event属性,以了解它是什么类型的数据)
然后我最终改变了方式而不是JSON。
我只需将事件,状态,数据连接到一个字符串中,然后使用XOXOX
将它们分开。
看起来像:
createRoomXOXOXrequestXOXOX{"name":"roomName"}
解析这将比解析JSON容易得多。
每个人都谈论自定义协议,但我对网络知之甚少,我做了一种简单的自定义协议吗?
答案 0 :(得分:1)
实质上,所有(在数据通信中)都是“自定义协议”,它位于其他“标准”和/或“自定义”低层协议之上。这没什么不同寻常的,是数据通信的本质。
Tim Berners-Lee“发明”HTTP这一天是一个新的自定义协议,它位于TCP之上,它位于IP之上,它位于...之上(这里有选择取决于底层数据链路)和物理层)。它现在已经成为标准,因为很多人最终使用它,客户端和来自不同执行者的服务器之间的互操作性非常重要。
如果您的协议要解决一个重要的突出问题并且很多人认为它值得使用,它可以(理论上)成为事实上的标准,然后可以被国际标准机构接受,可能是好事还是坏事。