1樓:感覺模糊
「模擬器本身就沒有提供網路介面」
我靠,那他媽還叫手機作業系統嗎...
1.你先寫個c#程式連你那個伺服器。試試能不能連上。
2.你寫個java 桌面程式作為伺服器。試試能不能臉上。
3.由1,2得出結論。
另:在android 模擬器上,用10.0.2.2訪問你的機器windows,linux等..localhost指的是模擬器本身。
如何用socket實現android手機與手機之間的通訊
2樓:育知同創教育
有兩種方案:
1、在pc機上建立伺服器,手機與手機之
間的通訊通過伺服器進行中轉
2、一部手機作為伺服器,另一部手機作為客戶端接入該手機
一般用第一種方案,示例**如下:
1、pc端:
serversocket=new serversocket(5648); //在5648埠進行偵聽
socket sk = serversocket.accept();//如果有接入,則建立對應的socket;
2、手機端:
socket=new socket("tobacco5648.xicp.***",5648);//連線socket
3、訊息輸入輸出:
pw=new printwriter(socket.getoutputstream()); //訊息輸出
pw.println("傳送訊息");
pw.flush();
br=new bufferedreader(new inputstreamreader(socket.getinputstream())); //訊息接收
while((str=br.readline())!=null)
3樓:匿名使用者
參考一般的java的socket程式設計,如果通過手機網路,就不要使用udp即可。
4樓:匿名使用者
可以用wifi熱點來實現通訊,用一個手機開啟wifi熱點後,啟動socket監聽,另一臺手機連線wifi後,開始連線伺服器socket,連線成功了,就可以通訊了. 留地址發原始碼給你, **可能寫的不怎麼樣,但是簡單的通訊都是ok的!
5樓:小船兒水中過
主要應用socket技術,android本身具有這個api,你直接呼叫即可,可以用wifi這資料線連線
手機作為客戶端,電腦作為伺服器進行android socket通訊
6樓:匿名使用者
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
7樓:匿名使用者
模擬器 和 手機的 ip是不一樣的,這個有沒有錯
8樓:探索奧特曼
你使用的是模擬器還是手機?(模擬器是10.0.2.2)
9樓:9迷情仙境
樓主,問題解決了麼?我現在也有這個需求,麻煩指教一下
android如何與手機進行通訊(socket連線)
10樓:匿名使用者
其實跟電腦差不多了,android裡呼叫socket的方法,拿到socket後就可以傳送資料並接收資料。
我最近正在做android方面的通訊,真的想把完整的**都給你,可是沒辦法,公司機密。。
給你我的socket連線類吧。。。
package sean.socket;
///////////把mytype的一些方法替換成writer的方法
import java.io.ioexception;
import java.io.inputstream;
import java.io.outputstream;
import java.***.i***address;
import java.***.socket;
import java.***.unknownhostexception;
import sean.sysout;
import sean.business.businesscenter;
import sean.business.loginmanager;
import sean.format.mytype;
import sean.io.reader;
import sean.transfer.bytesbuffer;
import sean.transfer.datacenter;
public class socketthread implements runnable
@override
public void run()
} else
// }
// 執行到這裡說明inputstream.read()已中斷,說明socket已斷開連線
// cs=null;
loginmanager.setloginvalue(-1);// 業務中心登入登出,即登入管理器登出登入
datacenter.setbool_login(false);// 資料中心登入登出
sysout.printexception(cs + "已斷開。");
thread.sleep(2 * 1000);// 睡眠2秒後繼續迴圈
// try catch (ioexception e)
} catch (unknownhostexception e) catch (ioexception e)
try catch (interruptedexception e2)
string exceptioninfos=e.tostring();
if(exceptioninfos.endswith("connection refused"))
} catch (ioexception e1) catch (interruptedexception e2)
}} catch (interruptedexception e)
}// while(bool_socketthread)
sysout.println("socketthread已停止。", sysout.tempoutdebug);
}public static socket getsocket()
// public void setbool(boolean bool0)
public static outputstream getoutputstream()
public static void stopsocketthread()
}} catch (ioexception e) }}
必須先在android裡啟動一個服務,由服務去啟動這個socket執行緒,因為如果是ui去啟動的話,頁面會卡住。。。
用java編寫socket通訊程式
埠監聽和建立管道。首先伺服器端繫結監聽埠,然後客戶端socket連線到這個埠,控制檯輸入的字串都會被在這個埠監聽的伺服器接收到。import java.io.bufferedreader import java.io.inputstreamreader import java.serversocke...
android開發中android虛擬機器作為伺服器與pc客戶端
android使用的僅僅使用了pc 裡邊的一個埠ip自然就是127.0.0.1了,或者是localhost吧關於5037口和5555口,找到了一個看起來合理的解釋 adb android debug bridge 包括三個部分 1 adb client,執行在pc上 為ddms,即ide工作 2 a...
android開發出現異常,Android 開發異常問題
the specified child already has a parent.you must call removeview on the child s parent first。這個問題是因為一個view只能隸屬於一個parent,你的 應該是changeview函式中的第二個迴圈中,將i...