android開發中android虛擬機器作為伺服器與pc客戶端

2021-04-25 12:00:05 字數 5012 閱讀 4726

1樓:匿名使用者

android使用的僅僅使用了pc 裡邊的一個埠ip自然就是127.0.0.1了,或者是localhost吧關於5037口和5555口,找到了一個看起來合理的解釋:

adb(android debug bridge)包括三個部分:

1)adb client, 執行在pc上(為ddms,即ide工作)2)adb daemon(守護程序), 執行於emulator(為與emulator中的vm互動工作);

3)adb server(服務程序), 執行在pc(工作管理員上有),管理著adb client和adb daemon的通訊.server與client通訊的埠是是5037,

adb server會與emulator互動的,使用的埠有兩個,一個是5554專門用於與emulator例項的連線,那麼資料可以從emulator**給ide控制檯了,另一個則是5555,專門與adb daemon連線為後面除錯使用。

2樓:匿名使用者

從exlipse啟動的android虛擬機器訪問本機上的ip:10.0.2.2

手機作為客戶端,電腦作為伺服器進行android socket通訊

3樓:匿名使用者

1.pc伺服器啟用serversocket兩個通訊實體在建立虛擬鏈路之前,需要有一方先準備好,主動接受來自其他通訊實體的連線請求。使用serversocket物件監聽來自客戶端的socket連線。

//建立serversocket物件serversocketss=newserversocket(30000);//監聽來自客戶端的請求while(true)如果沒有連線,則將一直處於等待狀態。當接收到連線請求後,獲取訊息到輸入流,並儲存到檔案。//接收客戶端訊息bufferedreaderin=newbufferedreader(newinputstreamreader(client.

getinputstream()));stringstr;bufferedwriterbw=newbufferedwriter(newfilewriter("d:/apinfo"+(i++)+".txt"));while((str=in.

readline())!=null)2.android終端使用socket通訊客戶端使用socket的構造器連線伺服器,指定伺服器ip和埠號就可以了。

sockets=newsocket(「192.168.1.

100」,30000);這樣伺服器端的accept()方法就得到響應,從而向下執行,伺服器端和客戶端就形成了一對互相連線的socket。再進行通訊時就沒有伺服器和客戶端之分了,都是通過輸入輸出流進行通訊。詳細步驟:

採用handler和timertask來定時掃描ap資訊併傳送給伺服器端。timertask規定了到達指定的時間所要進行的任務。timertasktask=newtimertask()};handler傳遞message內容:

handlerhandler=newhandler()super.handlemessage(msg);}}接下來掃描ap資訊併傳送給伺服器端,然後將結果儲存。wifimanagerwifimanager=(wifimanager)getsystemservice(wifi_service);wifimanager.

startscan();mwifilist=wifimanager.getscanresults();由wifimanager說明可知,它可以用於處理已配置的網路,當前連線的網路及ap資訊的掃描等情況。向伺服器傳送訊息:

socket=newsocket("192.168.1.

211",30000);//向伺服器端傳送訊息printwriterout=newprintwriter(newbufferedwriter(newoutputstreamwriter(socket.getoutputstream())),true);out.println(message);其中message為獲取的ap資訊,測試收到的資訊格式為:

ssid:icis_lab,bssid:1c:

af:f7:9a:

65:e4,capabilities:[wpa-psk-tkip+ccmp],level:

-80,frequency:2437

4樓:匿名使用者

模擬器 和 手機的 ip是不一樣的,這個有沒有錯

5樓:探索奧特曼

你使用的是模擬器還是手機?(模擬器是10.0.2.2)

6樓:9迷情仙境

樓主,問題解決了麼?我現在也有這個需求,麻煩指教一下

pc伺服器端和android手機客戶端socket通訊問題

7樓:卡卡西

1. pc伺服器啟用serversocket

兩個通訊實體在建立虛擬鏈路之前,需要有一方先準備好,主動接受來自其他通訊實體的連線請求。

使用serversocket物件監聽來自客戶端的socket連線。

//建立serversocket物件

serversocket ss = new serversocket(30000);

//監聽來自客戶端的請求

while(true)

如果沒有連線,則將一直處於等待狀態。當接收到連線請求後,獲取訊息到輸入流,並儲存到檔案。

//接收客戶端訊息

bufferedreader in = new bufferedreader(new inputstreamreader(client.getinputstream()));

string str;

bufferedwriter bw = new bufferedwriter(new filewriter("d:/apinfo"+ (i++) +".txt"));

while ((str = in.readline()) != null)

2. android終端使用socket通訊

客戶端使用socket的構造器連線伺服器,指定伺服器ip和埠號就可以了。

socket s = new socket(「192.168.1.100」, 30000);

這樣伺服器端的accept()方法就得到響應,從而向下執行,伺服器端和客戶端就形成了一對互相連線的socket。再進行通訊時就沒有伺服器和客戶端之分了,都是通過輸入輸出流進行通訊。

詳細步驟:

採用handler和timertask來定時掃描ap資訊併傳送給伺服器端。timertask規定了到達指定的時間所要進行的任務。

timertask task = new timertask()

};handler傳遞message內容:

handler handler = new handler()

super.handlemessage(msg);

} }

接下來掃描ap資訊併傳送給伺服器端,然後將結果儲存。

wifimanager wifimanager=(wifimanager) getsystemservice(wifi_service);

wifimanager.startscan();

mwifilist = wifimanager.getscanresults();

由wifimanager說明可知,它可以用於處理已配置的網路,當前連線的網路及ap資訊的掃描等情況。

向伺服器傳送訊息:

socket = new socket("192.168.1.211",30000);

//向伺服器端傳送訊息

printwriter out = new printwriter( new bufferedwriter( new outputstreamwriter(socket.getoutputstream())),true);

out.println(message);

其中message為獲取的ap資訊,測試收到的資訊格式為:

ssid: icis_lab, bssid: 1c:

af:f7:9a:

65:e4, capabilities: [wpa-psk-tkip+ccmp], level:

-80,frequency: 2437

8樓:手機使用者

在pc端設一個伺服器,在android端設一個客戶端,pc端先監聽,android先連線上pc端後給pc端傳送訊息,同時android端也監聽來自pc端的資訊,採用不同的埠,沒有用android真機,而是用的模擬器,等於說在同一臺電腦上連線,單獨分開測試的時候是好的,但先讓android端連上pc端後,pc端就無法連線上android端,報錯說的是地址已被使用,這個問題出在哪呢?android端得埠對映也弄好了,請各位指教

android與pc進行socket通訊,pc充當伺服器,模擬器可以連線伺服器,但真機不行,一連線伺服器端就報錯。 50

9樓:匿名使用者

是否真機設定了許可權的資訊,還有如果不在一個網段,應該是連線不了,你可以使用一些傳送wifi的工具,連線電腦發出的網路

android 客戶端 與pc服務端 socket 通訊連線,我現在要實現讓pc發給我一組座標,android 根據座標畫曲線圖

10樓:匿名使用者

一般資料可以通過io流傳遞xml或json資料(io流就不說了),你客戶端接受到資料就可版以對其進權行對應的解析(xml最好是用sax解析,如果資料量不大的話可以用dom解析;json解析的話有對應的api(jsonobject,jsonaarry等),至於怎麼解析網上資料一籮筐,自己去找)。

怎麼把pc端的軟體作為伺服器與android客戶端通訊

11樓:意麵的小肉醬

有如下的方法供選擇: 1. 利用usb口和usb連線線:

電腦可以將手機客戶端作為一個終端訪問,此時需要一款第三方軟體,比如金山手機、豌豆莢、360等等。 也可以將手機作為一個外部儲存器直接訪問手機的儲存位置來傳遞檔案。 2.

利用手機和電腦的藍...

12樓:匿名使用者

通過同一個網段,然後使用socket連線上

android系統解鎖圖案忘記,Android系統解鎖圖案忘記

平板沒用過。但是應該都差不多。關機後,按home鍵,音量上下鍵,再按開機鍵,然後用音量鍵選擇 wipe date 和wipe 後面的單詞我忘了,一個是清除快取,一個是恢復出場設定,兩個都選擇下把,我上次借我同學,忘記告訴他怎麼解鎖,然後他就一直解一直解,整個手機都被鎖住了,要登入google賬戶才行...

如何優雅地使用kotlin開發android應用

個人覺得android比較好,想學android開發,可以到磨礪營 如何優雅地使用 kotlin 開發 android 應用 從網上大概看了一下,主要是 量可以減少很多,重要的是更便捷,更加函式化 anko是kotlin專案的一部分,旨在更快更輕鬆的開發安卓應用。是一個用kotlin編寫的庫,也是專...

android開發中手機圖示大小的問題

在執行時,程式為最佳顯示效果提供了三種方法 1.縮放 基於當前螢幕的 精度,平臺自動載入任何未經縮放的限定尺寸和精度的 如果 不匹配,平臺會載入預設資源並且在放大或者縮小之後可以滿足當前介面的顯示要求。例如,當前為高精度螢幕,平臺會載入高精度資源 如 如果沒有,平臺會將中精度資源縮放至高精度。2.自...