【问题标题】:Wifi Game Detect Servers in Local Area NetworkWifi游戏检测局域网中的服务器
【发布时间】:2015-03-24 16:55:42
【问题描述】:

我创建了一个支持局域网多人游戏的 Android/桌面游戏。我正在使用 DatagramPackets,现在我已经硬编码了 2 个本地 IP 地址用于测试目的。

我如何做到这一点,以便当一台设备托管游戏时,其他任何运行该游戏的人都可以在 LAN 上检测到该托管游戏。基本上,我需要从连接到同一路由器的另一台设备获取托管我的游戏的人的本地 IP 地址,以在网络上搜索游戏。

这就是我目前通过硬编码地址来检测网络上其他设备的方式。

outgoingPacket.setAddress(InetAddress.getByName("192.168.1.20"));

我想我应该使用某种广播。

【问题讨论】:

标签: java android networking


【解决方案1】:

我怀疑您正在寻找here 描述的更通用的广播功能。

多播是另一回事!

【讨论】:

    【解决方案2】:

    我认为最好的方法是为游戏使用 1 个特定端口,并查看网络中的该端口是否有人在线。

    【讨论】:

    • 如果网络上打开了其他游戏,最好的 ping 方法是什么。现在我将使用第一个广播地址。但这总是默认的广播地址吗?我似乎很难找到一个简单的代码来给我默认的广播地址。
    • @CodeCamper 默认是什么意思?实际使用的地址??
    • 就是实际使用的地址。我觉得很奇怪,我无法获得在通往另一台本地计算机的路上盖章的地址。我确实想出了一种通过循环实现的方法,但我不禁想知道它并不总是会返回默认地址。
    • 你用的是什么游戏引擎?
    • 现在我正在使用默认的 Java 库进行网络连接。我正在使用 libGDX,但我正在制作自己的引擎。我希望尽我所能,让大量粒子、快速、响应和小细节始终保持同步。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-26
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    • 2012-09-08
    • 1970-01-01
    • 2013-08-20
    相关资源
    最近更新 更多