gpt4 book ai didi

java - 如何在特定端口上搜索响应式套接字服务器(如何连接到给定端口但没有其 IP 的服务器)?

转载 作者:行者123 更新时间:2023-12-02 03:54:21 27 4
gpt4 key购买 nike

通过让两台(或更多)计算机(设备)通过路由器连接,是否可以在不知道其 IP 地址的情况下连接到给定端口上的套接字服务器,或者至少获取该端口上所有服务器的列表端口(并与每个端口通信以查看是否是我正在寻找的端口)?

我必须补充一点,我是 java 套接字编程(以及一般套接字编程)的初学者,并且一直使用它来初始化我的客户端服务器:

    Socket socket = new Socket(serverIP, serverPort);

我已经能够在通过无线路由器连接的两台不同计算机上的客户端和服务器之间进行通信,并且我正在尝试在两台 Android 设备上实现该通信。问题是 IP 地址不能只向用户询问。这就是为什么我想知道如何在没有 IP 的情况下连接到我知道的端口上的服务器,或者找到该端口上所有 Activity 的 IP(也许尝试与每个 IP 进行通信,看看是否是我正在查找的 IP)对于)

最佳答案

我不知道如何使用 Java 套接字实现它的确切解决方案,但我的第一个想法是尝试从服务器广播特定消息,当客户端连接到同一网络时,他们可以接收此消息并且他们会知道它来自哪里。 (或反之亦然)

但是,多播是一种更好的方法,因为:

"Broadcasting is inefficient as packets are sent to all nodes in the network, irrespective of whether they are interested in receiving the communication or not. This may be a waste of resources." see: https://www.baeldung.com/java-broadcast-multicast

也许这个 GitHub 存储库对您有帮助:https://github.com/jbrucker/server-discovery

关于java - 如何在特定端口上搜索响应式套接字服务器(如何连接到给定端口但没有其 IP 的服务器)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56759158/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com