创建Java TCP协议

时间:2015-03-10 20:43:49

标签: java sockets tcp

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

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

示例 - 000000000100将打开灯三

协议将以相同的方式从客户端工作,因为按下按钮并将字符串发送回服务器,如果匹配则检查两个字符串,如果是,则用户将得到一个点。

我遇到的麻烦是从哪里开始?我没有关于创建协议的重要知识,并且希望指向正确的方向。

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

2 个答案:

答案 0 :(得分:1)

真的,协议就是你想要的任何东西。

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

但是,您不必担心诸如“服务器甚至收到我的消息”之类的事情吗?"因为TCP处理它。你可能不希望得到像这样的TCP的深度和复杂性。

答案 1 :(得分:1)

如果您要创建协议,这将太容易了,因为协议的规则将为您建立,并且它取决于系统的性质。

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

>AAAA;MSG=BLABLA;TIME=12121212<

假设,这是你协议的基本结构,其中“&gt;” “&LT;”你是协议的分层(非常有用),“AAAA”是你有多条消息时的消息类型。 “MSG”的消息,以及“TIME”的传输时间。

就像你看到的那样,你定义了你想要的。