有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用socket的java网络,有时还获取幻影号码

我创建了一个Java网络程序,每隔一段时间,当我运行时(并非总是这样),如果我得到一个幻影号码,我的socket就会收到一个类似于-16956754的号码(总是相同的号码),我从不会向socket发送一个接近我收到的号码的号码。可能是因为我正在使用的港口交通堵塞吗?我使用的是25565,这是一个非常常见的端口

如果是这样的话,您建议哪一个端口使用最少,适合游戏应用程序


共 (3) 个答案

  1. # 1 楼答案

    如果它是您自己的应用程序,并且想要选择一个端口,那么您可以选择一个不是“非常常见的端口”的端口。在这种情况下,它看起来像是Minecraft服务器使用的端口

  2. # 2 楼答案

    通过将端口更改为未使用的端口来解决

  3. # 3 楼答案

    任何网络服务器套接字(如应用程序)都会打开一个套接字(带有端口),并等待连接。套接字不知道连接来自何处,也不知道套接字的客户端将做什么。无论应用程序是什么,连接到服务器的客户端都有可能不是您所期望的

    在您的程序中,您需要创建一个协议,将客户端与服务器标识为您期望的客户端类型。如果客户端不是正确的应用程序,那么应该断开连接

    例如,邮件协议要求客户端发送EHLO或HELO提示符,HTTP要求GET、POST或PUT等

    在您的情况下,您可能选择了Minecraft使用的端口,但这并不是停止使用该端口的理由,如果您可以确定对您来说重要的客户端类型

    设置服务器并期望唯一连接的是有效的客户端是不合理的

    更换端口只会使问题变得不那么频繁(可能),而不会使问题消失