簡體   English   中英

通過android中的wifi連接發送和接收數據

[英]Sending and recieving data over wifi connection in android programatically

我正在嘗試制作一個與PC中的熱點進行通信的應用程序。 我可以連接到熱點,但無法弄清楚如何在android中發送和接收數據。 到目前為止,這是我的應用程序中的代碼。

WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
// setup a wifi configuration
WifiConfiguration wc = new WifiConfiguration();
wc.SSID = "\"pigo\"";
wc.preSharedKey = "\"12345678\"";
wc.status = WifiConfiguration.Status.ENABLED;
wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
// connect to and enable the connection
int netId = wifiManager.addNetwork(wc);
wifiManager.enableNetwork(netId, true);
wifiManager.setWifiEnabled(true);
stepinfo.setText("Initiating Connection . . .");

我看過其他類似的問題,但似乎沒有任何工作與我的應用程序兼容。

通過執行上述操作,您只能連接到計算機的熱點(Windows PC-如果您使用的是netsh wlan)。 這將允許您連接到PC,並最大程度地共享其Internet。 但是要啟用計算機和手機之間的通信,您需要在此層上構建一個應用程序。

這個程序將要做的是。 它將偵聽您的PC和移動設備上的特定端口。 因此,通過熱點建立連接后,您將需要具有一個Socket並執行Socket.connect(new InetAddress(IP, PORT)) 假設您的計算機在PORT_0PORT_0 ,那么您的手機需要執行Socket.connect(new InetAddress(IP_COMPUTER, PORT_0))

這樣,您現在有了一個可用於PC和手機之間通信的插座。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM