【问题标题】:Java - Getting a server's hostname and/or ip address from clientJava - 从客户端获取服务器的主机名和/或 IP 地址
【发布时间】:2013-11-17 00:13:19
【问题描述】:

这就是我的情况。我需要使用套接字来创建服务器和客户端之间的连接。这不能协商。我有一台服务器正在运行并使用类似的东西进行监听

ServerSocket serverSocket = new ServerSocket(portNumber);
        while (listening) {
            new MultiClientThread(serverSocket.accept()).start();
        }

我需要一个客户端来连接到正在收听的“端口号”。问题是我正在为客户端使用这行代码。

Socket socket = new Socket(hostName, portNumber);

而且我不知道如何获取参数的“主机名”部分。如果我知道正在收听的端口号,是否可以获得“主机名”?或者另一种说法是如何连接到使用 tcp 连接侦听端口的服务器。

【问题讨论】:

    标签: java sockets tcp hostname


    【解决方案1】:

    hostName 通常在客户端硬编码。它可以是 IP 地址或域名。如果服务器运行的是同一台机器,您可以使用localhost127.0.0.1 作为主机名。

    【讨论】:

    • 好的,在进一步检查规范后,我注意到我们将获得一个主机名。只是出于好奇,有没有办法连接到侦听与我在同一网络上的端口的服务器?
    • 您需要知道它的 ip 才能连接到它。如何知道 ip 取决于您(硬编码,或通过某种宣布服务)。
    • 宣布服务是什么意思?是否有特定的类或方法可以执行此操作,或者我必须自己编写代码?在 Internet 上快速搜索 java 服务器宣布服务会发现一些不太有用的东西。需要注意的一件事是,我只能在 java 包或 javax 中使用它
    • 我说的是Broadcast Traffic。我认为java框架中没有相关的实现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-22
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    相关资源
    最近更新 更多