所以我正在尝试一些网络和套接字编程,我创建了简单的客户端和服务器java应用程序,它将连接并允许用户输入消息并相互交谈。
接下来,我尝试为我想要制作的游戏创建一个协议(protocol),该游戏涉及 12 个打开或关闭的灯,服务器将使用协议(protocol)发送客户端值,并根据这些值确定灯将会亮起。
示例 - 000000000100 将打开灯三
该协议(protocol)将以与客户端相同的方式工作,即按下按钮并将字符串发送回服务器,将检查两个字符串是否匹配,如果匹配,用户将获得积分。
我遇到的麻烦是从哪里开始?我对创建协议(protocol)没有主要知识,并且希望找到正确的方向。
如果我在客户端和服务器之间发送二进制字符串,这会被视为协议(protocol)还是还有更多协议(protocol)?
最佳答案
确实,协议(protocol)就是您想要的任何协议(protocol)。
如果您向服务器发送 000000000100
,并且该服务器能够理解并做出适当响应,那么您就拥有了可靠的应用程序级协议(protocol)。在您的游戏上下文中,这可能是您的协议(protocol)所需要的全部内容,或者您可能需要处理错误情况(可能 000000000100
是无效值),这取决于您。
但是,您无需担心诸如“服务器是否收到我的消息?”之类的问题。因为 TCP 可以处理这个问题。对于这样的事情,您可能不想了解 TCP 的深度和复杂性。
关于java - 创建 Java TCP 协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28973726/