繁体   English   中英

客户端如何找到服务器的端口号?

[英]How does a client find the port number of a server?

我目前正在学习Java中的基本网络。 我一直在研究两台计算机之间的服务器和客户端关系。 但是,我无法弄清楚分布式程序(例如,视频游戏)如何不仅可以找到“主机”计算机,而且可以找到服务器运行所在的端口号以便在两台计算机之间创建套接字。 我真正看到的创建套接字的唯一方法是使用已知的IP地址和已知的端口号。

您如何在LAN网络中搜索另一台正在搜索客户端的计算机(主机)?

您如何确定服务器所在的端口,而不会“ ping”所有可用端口进行响应(据我所知,这是错误的形式……关于“服务器攻击” ...)?

在诸如视频游戏的情况下,同一网络上可以有任意数量的计算机,并且它们中的任意数量都可能试图托管或以其他方式运行该应用程序。 关于在客户端上建立非常少的信息进行连接的任何其他重要信息,或者可能参考的是比我正在使用的教程更详细的教程。

非常感谢,

乔纳森

通常,服务/方案具有给定的端口号或它们使用的端口号范围(HTTP使用80,SSH使用22等)。 此外,他们可以连接到“主”服务器,以宣布其存在并了解其他节点(例如Battle.net)。

如果使用Zeroconf(通过Bonjour,Avahi等),则完全不需要这些。 Zeroconf允许计算机在LAN上执行多播DNS,而不是传统上用于DNS的点播机制。 这使他们可以发现网络上也支持mDNS的计算机,并发现它们上运行的服务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM