通过热点在两个Android设备之间进行数据交换

K S*_*K S 9 sockets android personal-hotspot

我想在两个Android设备之间通过热点交换数据.我试过正确连接.

1.我创建了便携式热点:

网络SSID - my_hotspot
安全 - WPA PSK
密码 - 密码

第2位.我正在尝试连接应用程序启动时.在这里我的代码

    mWifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);

    WifiConfiguration conf = new WifiConfiguration();
    conf.SSID = "\"" + networkSSID + "\"";   
    conf.wepKeys[0] = "\"" + networkPass + "\""; 
    conf.wepTxKeyIndex = 0;
    conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40); 
    conf.preSharedKey = "\""+ networkPass +"\"";
    conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);

    int res = mWifiManager.addNetwork(conf);
    boolean b = setWifiApEnabled(null, true);
Run Code Online (Sandbox Code Playgroud)

我认为它没有成功.然后我正在尝试通过套接字发送数据.我从JavaCodeGeeks那里学到了很多东西.我配置了SERVER_IP 192.168.49.1,SERVER_PORT:8888.

如何使用热点在两个Android设备之间正确通信?

提前致谢.

小智 3

为什么不使用 Wi-Fi Direct?它是一个p2p 协议。您可以在两个 Android 设备之间共享数据,无需任何热点。它使用 android.net.wifi.p2p 包。

\n\n
\n

Wi-Fi 点对点 (P2P) 允许具有适当硬件的 Android 4.0(API 级别 14)或更高版本的设备通过 Wi-Fi 直接相互连接,无需中间接入点(Android 的 Wi-Fi P2P)框架符合 Wi-Fi 联盟的 Wi-Fi Direct\xe2\x84\xa2 认证计划)。使用这些 API,您可以发现并连接到其他设备(当每个设备都支持 Wi-Fi P2P 时),然后通过比蓝牙连接长得多的距离的快速连接进行通信。这对于在用户之间共享数据的应用程序非常有用,例如多人游戏或照片共享应用程序。

\n
\n\n

您可以在 Android 开发者网站上找到有关该技术的更多信息。以下是一些有用的链接:

\n\n

安卓 Wi-Fi p2p

\n\n

android.net.wifi.p2p包

\n\n

创建应用程序

\n