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

时间:2014-02-21 05:39:37

标签: android sockets personal-hotspot

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

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

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

第二。我正在尝试连接应用程序启动时。这是我的代码

    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);

我认为它没有成功。然后我正在尝试通过套接字发送数据。我从JavaCodeGeeks学到了什么。我配置了SERVER_IP 192.168.49.1,SERVER_PORT:8888。

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

提前致谢。

1 个答案:

答案 0 :(得分:2)

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

  

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

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

Android Wi-Fi p2p

android.net.wifi.p2p package

Creating the application