【问题标题】:connecting two or more devices via wifi with through my app通过我的应用程序通过 wifi 连接两个或多个设备
【发布时间】:2013-08-26 20:58:49
【问题描述】:

我想让我的应用程序能够通过同一个 wifi 网络连接到其他设备并传输一些数据,即 phone Aphone B 安装了我的应用程序并在同一个网络上。我目前能够连接两台设备,一台作为服务器,另一台作为客户端,但这是对服务器设备的静态IP 引用。在开放世界中,IP 当然会改变,所以我的问题是如何让phone A 作为服务器设备启动,然后让phone B 看到网络上的服务器设备并连接到它。因此,服务器设备将接受此客户端连接并在建立连接时执行所需的操作。这甚至可能吗?

【问题讨论】:

    标签: android sockets android-wifi


    【解决方案1】:

    我相信您会有 A 设备在端口号 x 上侦听,而客户端版本(设备 B)正在寻找相同的端口号 x。这可能是错误的。

    【讨论】:

    • 如果可以抓取到我打算使用的端口,我正在考虑类似的事情。但我不知道如何做到这一点,如果这种方式可行,并感谢您的回复。
    【解决方案2】:

    这是 DNS 的工作。如果您没有可用的 DNS 服务器,您可以发明一种发现协议,其中机器 A 定期多播它正在侦听的 IP 和端口。

    机器 B 加入多播组。一旦机器 B 知道 A 的地址和端口,它就可以使用您已有的代码打开一个套接字。

    【讨论】:

    • 您有创建此类广播的示例吗?
    • 我没有现成的示例,但这是 DDS(数据分发系统)、CORBA 等系统使用的一般方法。实际上 DDS 可能适合您的需求,尽管它有点重- 体重与你现在所做的相比。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-15
    相关资源
    最近更新 更多