1樓:死亡
是否有網路拓撲圖?兩次請求的ip是多少?電腦a是否有到服務端的路由?防火牆的過濾規則是否正確!
安卓與pc通過socket通訊的問題
2樓:匿名使用者
1,在程式的主acitivty 中的 finish()方法中,關閉socket。
2、把sorket 連線放到android 的service 中,service 存活,socket就一直連線著。
3樓:匿名使用者
不斷開可以放到service裡面連線伺服器
4樓:匿名使用者
問題在第二個,你可以將socket放在後臺執行,用service
pc伺服器端和android手機客戶端socket通訊問題
5樓:卡卡西
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
6樓:手機使用者
在pc端設一個伺服器,在android端設一個客戶端,pc端先監聽,android先連線上pc端後給pc端傳送訊息,同時android端也監聽來自pc端的資訊,採用不同的埠,沒有用android真機,而是用的模擬器,等於說在同一臺電腦上連線,單獨分開測試的時候是好的,但先讓android端連上pc端後,pc端就無法連線上android端,報錯說的是地址已被使用,這個問題出在哪呢?android端得埠對映也弄好了,請各位指教
手機作為客戶端,電腦作為伺服器進行android socket通訊
7樓:匿名使用者
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
8樓:匿名使用者
模擬器 和 手機的 ip是不一樣的,這個有沒有錯
9樓:探索奧特曼
你使用的是模擬器還是手機?(模擬器是10.0.2.2)
10樓:9迷情仙境
樓主,問題解決了麼?我現在也有這個需求,麻煩指教一下
android手機在3g下與pc進行socket通訊,手機端在什麼環境下程式設計?pc呢?我是新手,都還不清楚,望指點
有什麼對手機soc要求不高的手遊
其實主要看你想玩什麼,如果不覺得單機遊戲無聊建議玩單機,如果想玩網遊但手機頂不了啊。其實現在菩提哦有660基本上很多遊戲都能玩了,只是畫面可能不是很高而已,實際上手遊也沒什麼好玩的了 玩單機遊戲要求就不高 手機裡的遊戲我都不玩,不太瞭解 狼人殺不高,看你喜不喜歡 植物大戰殭屍,大話西遊,倩女幽魂,執...
如何設定Android手機的sqlite3命令環境
1 在pc環境下啟動一個模擬器 不是手機 2 檢視模擬器 systen xbin是否有sqlite3命令 adb shell cd system xbin ls3 把模擬器 system xbin sqlite3命令檔案從模擬器拷到pc上 adb pull system xbin sqlite3 e...
谷歌android 蘋果ios與微軟window8的區別以及各有的優勢與劣勢
1 谷歌android簡單 開放性系統 便宜,應用一流豐富。2 蘋果ios系統比較穩定流暢,硬體和軟體都被工程師設計的比較完美。3 window8系統流暢穩定,不佔硬體,配置不用太高大型遊戲一樣可以玩。谷歌android 蘋果ios與微軟window8的缺點有 1 谷歌android太吃硬體,過佔記...