socket實現android和電腦通訊

2021-03-03 23:40:09 字數 4823 閱讀 6140

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...