Java:如何让客户端检测网络上的服务器?

标签 java client-server broadcast

在大学期间,我有一个个人项目,即使用 TCP 套接字用 Java 编写一个简单的聊天程序。该项目仅用于教育目的。

我不太满意的一件事是客户端必须知道服务器的 IP 才能连接到它。所以我开始思考,如果客户端能够检测到网络上是否有可用的聊天服务器,那就太好了。

我怎样才能实现这样的机制?如果您能指出正确的方向,我将不胜感激。 :-)

我认为服务器必须进行某种广播,但我不确定该怎么做。

PS:我知道可能有其他/更好的方法可以做到这一点,但现在我特别感兴趣的是如何让客户端检测网络上的服务器。

服务器是指聊天应用程序的服务器端部分,不像 Tomcat 服务器。

最佳答案

有很多方法可以做到这一点,但我建议您查看 JGroups .对于聊天应用程序来说,它可能有点矫枉过正,但它对多播的使用提供了有趣的可能性,例如无服务器架构。

关于Java:如何让客户端检测网络上的服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3764230/

相关文章:

java - 在 TextView 外单击时,Android 编辑文本不会失去焦点

java - 黑莓手机无法上传大于1KB的文件

javascript - 一个 channel 同时连接的限制是多少?

android - 如何在 BroadcastReceiver 类中使用 getApplicationContext?

javax.net.ssl.SSLHandshakeException : sun. security.validator.ValidatorException:PKIX 路径构建失败

java - 错误: method addActionListener in class AbstractButton cannot be applied to given types

c++ - 如何在一个程序中实现client-server udp multicast?

Java UDP 通信小程序到 UDP 服务器

java - 文件管理客户端-服务器编程

linux - 广播消息中的绑定(bind)函数