當前位置:首頁 » 安卓系統 » androidpcsocket

androidpcsocket

發布時間: 2022-06-12 14:05:53

Ⅰ PC伺服器端和android手機客戶端socket通信問題

1. PC伺服器啟用ServerSocket
兩個通信實體在建立虛擬鏈路之前,需要有一方先准備好,主動接受來自其他通信實體的連接請求。
使用ServerSocket對象監聽來自客戶端的Socket連接。
//創建ServerSocket對象

ServerSocket ss = new ServerSocket(30000);
//監聽來自客戶端的請求
while(true){
Socket s = ss.accept();

}

如果沒有連接,則將一直處於等待狀態。當接收到連接請求後,獲取消息到輸入流,並保存到文件。
//接收客戶端消息

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) {
System.out.println(str);
bw.write(str);
bw.newLine();
}

2. Android終端使用Socket通信
客戶端使用Socket的構造器連接伺服器,指定伺服器IP和埠號就可以了。
Socket s = new Socket(「192.168.1.100」, 30000);
這樣伺服器端的accept()方法就得到響應,從而向下執行,伺服器端和客戶端就形成了一對互相連接的Socket。再進行通信時就沒有伺服器和客戶端之分了,都是通過輸入輸出流進行通信。
詳細步驟:
採用Handler和TimerTask來定時掃描AP信息並發送給伺服器端。TimerTask規定了到達指定的時間所要進行的任務。
TimerTask task = new TimerTask(){

public void run() {
Message message = new Message();
message.what = 1;
handler.sendMessage(message);
}

};

handler傳遞message內容:
Handler handler = new Handler(){

public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
// 執行定時器時間到了之後由handler傳遞的任務
break;
}
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

Ⅱ android開發中,android虛擬機作為伺服器與pc客戶端實現socket網路通信中,android虛擬機的ip是多少

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

Ⅲ Android 之間能否通過 socket 進行通信.

第一個問題:這是可以的,android通過socket訪問本機伺服器PC, ip是10.0.2.2。
第二哥問題:用ServerSocket建立一個對象 ServerSocket serverSocket = new ServerSocket(serverListenPort, connectionMaxLength, InetAddress.getByName(serverIpString));
再加一個監聽Socket incoming = serverSocket.accept();就可以檢測客戶端發過來的連接請求,之後使用流就可以完成他們之間的通信了。
原創手打,thanku

Ⅳ Android 與電腦的Socket通信為什麼不能接收數據

按照你的描述,你首先調用Socket(adderss,port)生成了一個socket,然後你要調用connect連接服務端,connect返回成功後才能通信。不知道你有沒有connect。

Ⅳ android服務端與電腦pc上c++的客戶端 實現socket通信

1、android上的伺服器分兩種:
① 用 java 寫的,這種比較簡單,但是需要注意的它的代碼已經被轉換成了大端了,pc上用c++寫傳結構體;
② 用 c/c++ 寫的,這種方式進行和pc上的通信比較的方便,客戶端和伺服器段可以都通過結構來傳遞,唯一需要考慮的是位元組對其的問題,可以用兩個預處理指令(可以跨平台的)處理;
2、源碼的話,我雖然有但是屬於公司的項目代碼,不方便的;
我是ndk吧的吧主,希望大家關注一下ndk吧,有問題的話也可以到裡面留言哦,ndk吧的鏈接:
http://tieba..com/f?kw=ndk 謝謝!

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

1.PC伺服器啟用ServerSocket兩個通信實體在建立虛擬鏈路之前,需要有一方先准備好,主動接受來自其他通信實體的連接請求。使用ServerSocket對象監聽來自客戶端的Socket連接。//創建ServerSocket對象ServerSocketss=newServerSocket(30000);//監聽來自客戶端的請求while(true){Sockets=ss.accept();…}如果沒有連接,則將一直處於等待狀態。當接收到連接請求後,獲取消息到輸入流,並保存到文件。//接收客戶端消息BufferedReaderin=newBufferedReader(newInputStreamReader(client.getInputStream()));Stringstr;BufferedWriterbw=newBufferedWriter(newFileWriter("D:/ApInfo"+(i++)+".txt"));while((str=in.readLine())!=null){System.out.println(str);bw.write(str);bw.newLine();}2.Android終端使用Socket通信客戶端使用Socket的構造器連接伺服器,指定伺服器IP和埠號就可以了。Sockets=newSocket(「192.168.1.100」,30000);這樣伺服器端的accept()方法就得到響應,從而向下執行,伺服器端和客戶端就形成了一對互相連接的Socket。再進行通信時就沒有伺服器和客戶端之分了,都是通過輸入輸出流進行通信。詳細步驟:採用Handler和TimerTask來定時掃描AP信息並發送給伺服器端。TimerTask規定了到達指定的時間所要進行的任務。TimerTasktask=newTimerTask(){publicvoidrun(){Messagemessage=newMessage();message.what=1;handler.sendMessage(message);}};handler傳遞message內容:Handlerhandler=newHandler(){publicvoidhandleMessage(Messagemsg){switch(msg.what){case1://執行定時器時間到了之後由handler傳遞的任務break;}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

Ⅶ 通過socket通訊實現安卓虛擬機與pc之間點對點通訊!

完整代碼倒是沒有,虛擬機如果NAT的話做好埠映射,或者直接直接Bridged橋接進網路就行
之後用socket建立連接就可以了。
做過虛擬機跟PC的socket通訊,也做過PC跟安卓機的通訊。
這是一點建議,希望有幫到你!

Ⅷ 如何用socket實現android手機與手機之間的通信

有兩種方案:
1、在PC機上建立伺服器,手機與手機之間的通信通過伺服器進行中轉
2、一部手機作為伺服器,另一部手機作為客戶端接入該手機
一般用第一種方案,示例代碼如下:
1、pc端:
serverSocket=new ServerSocket(5648); //在5648埠進行偵聽
Socket sk = serverSocket.accept();//如果有接入,則創建對應的socket;

2、手機端:
socket=new Socket("tobacco5648.xicp.net",5648);//連接socket

3、消息輸入輸出:
pw=new PrintWriter(socket.getOutputStream()); //消息輸出
pw.println("發送消息");
pw.flush();

br=new BufferedReader(new InputStreamReader(socket.getInputStream())); //消息接收
while((str=br.readLine())!=null){
//接收消息
}

Ⅸ android手機端程序與pc端c程序進行socket通信問題

這是說你的網路連接的相關的程序寫在了主線程裡面,在 android裡面是不可以這樣的因為主線程是ui線程這種耗時操作是不能寫在主線程中,否則界面會出現卡頓,所以你應該把你的socket操作寫在另外一個線程中 也就是 new thread(){ public void run()

{}}.start();
把你的socket操作寫在run方法中

Ⅹ android軟體開發中 實現手機與PC用socket通信,那手機發送給PC的若干數據,PC怎樣才

自己定義一個『協議』;
比如:
command[用戶登錄]
username=admin
password=456

當然這比較費神,可以採用xml或json做數據交換格式。
兩邊只需要序列化和反序列化即可,就像操作bean一樣。
另外,也可以採用Serializable序列化,ObjectOutputStream 和 ObjectInputStream 將對象通過網路傳輸。

熱點內容
android換背景 發布:2025-08-18 13:16:47 瀏覽:16
易語言gdi源碼 發布:2025-08-18 13:06:05 瀏覽:782
iphone5s軟體緩存 發布:2025-08-18 12:39:37 瀏覽:148
QQ推薦上傳 發布:2025-08-18 12:38:51 瀏覽:860
qq忘記密保怎麼找回密碼 發布:2025-08-18 12:38:18 瀏覽:72
python字元串類型轉換 發布:2025-08-18 12:35:54 瀏覽:399
ofdm信道估計演算法 發布:2025-08-18 12:35:09 瀏覽:733
指數競猜源碼 發布:2025-08-18 12:29:26 瀏覽:698
天龍八部莫愁腳本官網 發布:2025-08-18 12:14:19 瀏覽:862
合資車為什麼配置不高 發布:2025-08-18 12:09:36 瀏覽:76