使用socket的java网络,有时还获取幻影号码
我创建了一个Java网络程序,每隔一段时间,当我运行时(并非总是这样),如果我得到一个幻影号码,我的socket就会收到一个类似于-16956754的号码(总是相同的号码),我从不会向socket发送一个接近我收到的号码的号码。可能是因为我正在使用的港口交通堵塞吗?我使用的是25565,这是一个非常常见的端口
如果是这样的话,您建议哪一个端口使用最少,适合游戏应用程序
你可以在下面搜索框中键入要查询的问题!
我创建了一个Java网络程序,每隔一段时间,当我运行时(并非总是这样),如果我得到一个幻影号码,我的socket就会收到一个类似于-16956754的号码(总是相同的号码),我从不会向socket发送一个接近我收到的号码的号码。可能是因为我正在使用的港口交通堵塞吗?我使用的是25565,这是一个非常常见的端口
如果是这样的话,您建议哪一个端口使用最少,适合游戏应用程序
# 1 楼答案
如果它是您自己的应用程序,并且想要选择一个端口,那么您可以选择一个不是“非常常见的端口”的端口。在这种情况下,它看起来像是Minecraft服务器使用的端口
# 2 楼答案
通过将端口更改为未使用的端口来解决
# 3 楼答案
任何网络服务器套接字(如应用程序)都会打开一个套接字(带有端口),并等待连接。套接字不知道连接来自何处,也不知道套接字的客户端将做什么。无论应用程序是什么,连接到服务器的客户端都有可能不是您所期望的
在您的程序中,您需要创建一个协议,将客户端与服务器标识为您期望的客户端类型。如果客户端不是正确的应用程序,那么应该断开连接
例如,邮件协议要求客户端发送EHLO或HELO提示符,HTTP要求GET、POST或PUT等
在您的情况下,您可能选择了Minecraft使用的端口,但这并不是停止使用该端口的理由,如果您可以确定对您来说重要的客户端类型
设置服务器并期望唯一连接的是有效的客户端是不合理的
更换端口只会使问题变得不那么频繁(可能),而不会使问题消失