Java zookeeper如何知道zookeeper客户端主机/端口

Java zookeeper如何知道zookeeper客户端主机/端口,java,apache-zookeeper,distributed-computing,distributed,Java,Apache Zookeeper,Distributed Computing,Distributed,我正在努力理解ApacheZooKeeper的基础知识。Zookeeper服务器(独立/quorum)在主机/端口上运行,Zookeeper客户端会提到详细信息 创建ZooKeeper句柄的构造函数通常如下所示: ZooKeeper( String connectString, int sessionTimeout, Watcher watcher) 其中:connectString包含ZooKeeper服务器的主机名和端口 zookeeper服务器将集群中的状态更改通知客

我正在努力理解ApacheZooKeeper的基础知识。Zookeeper服务器(独立/quorum)在主机/端口上运行,Zookeeper客户端会提到详细信息

创建ZooKeeper句柄的构造函数通常如下所示:

ZooKeeper(    String connectString,    int sessionTimeout,    Watcher watcher) 
其中:connectString包含ZooKeeper服务器的主机名和端口

zookeeper服务器将集群中的状态更改通知客户端。我的问题是,我无法从教程中了解zookeeper服务器如何知道zookeeper客户端的IP地址和端口号。如果有人能提供zookeeper API的java片段,其中指定了这些信息,那就太好了

zookeeper服务器将集群中的状态更改通知客户端


这发生在客户端与服务器的现有连接中。服务器不会“接触”当前未连接(此时可能是)的客户端。这意味着客户端需要至少有一个仍然准确的服务器地址作为种子才能连接。然后会通知服务器所有其他端口的位置。

为什么在客户端连接之前服务器需要知道客户端的套接字?