创建 Java TCP 协议

Creating Java TCP Protocol

所以我正在尝试一些网络和套接字编程,我创建了简单的客户端和服务器 java 应用程序,它将连接并允许用户输入消息并相互交谈。

接下来,我正在尝试为我想要制作的游戏创建一个协议,该游戏涉及 12 个开或关的灯,服务器将使用协议发送客户端值并根据这些值某个灯会亮起。

示例 - 000000000100 将打开三盏灯

该协议将以与客户端相同的方式工作,即按下按钮并将字符串发送回服务器,将检查两个字符串是否匹配,如果匹配,用户将获得点.

我遇到的麻烦是从哪里开始?我对创建协议和寻找正确方向没有任何专业知识。

如果我在客户端和服务器之间发送二进制字符串,这会被视为协议还是有更多的协议?

真的,协议就是你想要的。

如果您将 000000000100 发送到服务器,并且该服务器理解并做出适当响应,那么您就有了可靠的应用程序级协议。在您的游戏上下文中,这可能是您需要的所有协议,或者您可能需要处理错误情况(可能 000000000100 是无效值),这取决于您。

但是,您不必担心 "did the server even get my message?" 之类的事情,因为 TCP 会处理这些事情。对于这样的事情,您可能不想了解 TCP 的深度和复杂性。

如果你要创建协议,这太容易了,因为协议的规则会为你建立,这取决于系统的性质。

例如:如果您正在创建协议的系统是一个简单的聊天,您需要在协议中放置所有数据以允许服务器和客户端之间的有效通信。例子

>AAAA;MSG=BLABLA;TIME=12121212<

假设,它是你协议的基本结构,其中“>”“<”是你协议的分隔符(非常有用),"AAAA"如果你有多个消息类型信息。 "MSG" 消息,"TIME" 传输时间。

如你所见,你定义你想要的。