有誰遇到過同樣問題的可以探讨下,或者已經解決問題的,能夠指導下我
擷取多點傳播鎖
private InetAddress group;
WifiManager wm=(WifiManager)getSystemService(Context.WIFI_SERVICE);
MulticastLock mlock=wm.createMulticastLock("mygroup");
mlock.acquire();
group =InetAddress.getName("239.255.255.250"); //建立多點傳播組
不能在UI thread 上直接發送和接收多點傳播,開辟一個子線程
new Thread(){
public void run(){
StringBuffer sb=new StringBuffer();
sb.append("data"); //發送多點傳播的内容
byte[] sendata=sb.getBytes();
mlock.setLoopbackMode(true); //設定模式 Loopbackmode 不是很清楚 根據意思應該是 周期性的發送消息 這個要看具體的抓包什麼情況
mlock.joinGroup(group);
//設定時間任務每隔3秒發送一次多點傳播
Timer timer=new Timer();
timer.schedule(new MyTimerTask(),3000);
while(true){
DatagramPacket temppacket=new new DatagramPacket(bs, bs.length, group,prot);
mlock.recive(temp);
String packetIpAddress = new String(temp.getData(), 0, temp.getLength()).trim();
if(){ //過濾出想要擷取的資訊
}else{
Thread.sleep(2000); //休眠兩秒再接收多點傳播
}
}
}
}.start();
//時間任務
class MyTimerTask extends TimerTask{
byte[] bs = new byte[1024];
@Override
public void run() {
// TODO Auto-generated method stub
DatagramPacket packet = new DatagramPacket(sendData,sendData.length, group, Integer.valueOf(pro.getProperty("multicast_port")));
try {
multicastsocket.send(packet);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
接收和發送放在同一個線程裡循環執行
使用 htc 4.01 和sony 4.2.2的可以接收到多點傳播 但是lg nexus 4.3 和nexus 4.4 都接收不到多點傳播!表示很不解呀
難道版本越高 反而不支援多點傳播還是需要在手機上做什麼設定?
Android上UDP多點傳播無法接收資料的問題
最近,想做一個跨平台的區域網路的檔案傳輸軟體,思路是多點傳播裝置資訊,TCP連接配接傳輸檔案.于是進行了一次簡單的UDP多點傳播測試,發現Android對于UDP多點傳播接收資料的支援即極為有限. 部分代碼如下 pac ...
IP多點傳播(多點傳播)
IP多點傳播是實作資料一對多通信的模式.從一個源點傳送到多個目的地,資料僅僅拷貝一份.這裡說的資料僅僅拷貝一份,是指在每一條須要它的兩個點之間,資料僅僅有一份.例如以下圖為(謝希 ...
Java單點傳播、廣播、多點傳播(多點傳播)---轉
一.通信方式分類 在目前的網絡通信中有三種通信模式:單點傳播.廣播和多點傳播(多點傳播),其中多點傳播出現時間最晚,同時具備單點傳播和廣播的優點. 單點傳播:單台主機與單台主機之間的通信 廣播:當台主機與網絡中的所有主機通信 ...
Java單點傳播、廣播、多點傳播(多點傳播)
一.通信方式分類 在目前的網絡通信中有三種通信模式:單點傳播.廣播和多點傳播(多點傳播),其中多點傳播出現時間最晚,同時具備單點傳播和廣播的優點. 單點傳播:單台主機與單台主機之間的通信 廣播:當台主機與網絡中的所有主機通信 ...
Android開發:多點傳播(多點傳播)與廣播
近期由于需要編寫能夠使同一區域網路中的Android用戶端與PC端進行自動比對通信功能的程式,學習并試驗了JAVA多點傳播與廣播的内容,記錄一些了解如下: 一.多點傳播(多點傳播) 背景知識:多點傳播使用UDP對一定範 ...
淺談Android中的多點傳播(多點傳播)
多點傳播使用UDP對一定範圍内的位址發送相同的一組Packet,即一次可以向多個接受者發出資訊,其與單點傳播的主要差別是位址的形式.IP協定配置設定了一定範圍的位址空間給多點傳播(多點傳播隻能使用這個範圍内的IP),IP ...
【miscellaneous】多點傳播(多點傳播)原理分析
為什麼要使用多點傳播: 網卡從網絡上接收到目标實體位址對應的所有bit位都為1的資料報時,會收到這條消息并将其上傳給驅動程式,網卡的這種工作模式稱為廣播模式,網卡的預設工作模式包含直接模式和 ...
Android MulticastSocket IP多點傳播
MulticastSocket是對等的關系,也就是他們通過IP多點多點傳播保留的位址來互相接收在這個組的Socket發送的消息 我寫了一個例子,MultiSocketB是一個service,用于先接收再發 ...
多點傳播(Multicast)傳輸
多點傳播(Multicast)傳輸: 在發送者和每一接收者之間實作點對多點網絡連接配接. 如果一台發送者同時給多個的接收者傳輸相同的資料,也隻需複制一份的相同資料包.它提高了資料傳送效率.減少了骨幹網絡出現擁 ...
随機推薦
.net學習筆記----HttpRequest,WebRequest,HttpWebRequest差別
WebRequest是一個虛類/基類,HttpWebRequest是WebRequest的具體實作 HttpRequest類的對象用于伺服器端,擷取用戶端傳來的請求的資訊,包括HTTP封包傳送過來的所 ...
使用Python 将shapefile導入mongodb
使用Python 将shapefile導入mongodb 随着big data時代的到來,各個行業都在考慮能不能把big data的思路.方法引入進來,GIS行業也不能免俗. 下面就介紹一下如何将sh ...
install docker on xubuntu
ref: https://docs.docker.com/engine/installation/linux/ubuntulinux/#/install-the-latest-version ps: ...
SSH基本架構搭建後的簡化
對于SSh架構的簡化,我們可以從下面幾個方面來剖析: 1.實體類entity:在這裡我們需要将資料庫和實體類進行關聯,在簡化之前,我們需要在entity包裡面加入一份.xml配置檔案 例如原碼---- ...
[轉載]C#設定開機啟動
原理就是在系統資料庫啟動項裡添加一項.路徑:SOFTWARE\Microsoft\Windows\CurrentVersion\Run或者直接:運作->regedit找到這個路徑添加一項. usin ...
JavaScript進階程式設計5.pdf
隊列方法通路規則是FIFO(First-In-First-Out,先進先出),數組方法shift()能夠移除數組中第一個項并傳回該項,同時将數組長度減1,結合使用shift()和push(),可以像隊 ...
【2】開發環境的搭建,Ubuntu14.04
這裡使用的是Ubuntu14.04 Unity 更新源 首先,将更新源更換為國内更新源,我這裡使用的是網易的更新源 sudo gedit /etc/apt/sources.list deb http: ...
zTree實作更新根節點中第i個節點的名稱
zTree實作更新根節點中第i個節點的名稱 1.實作源碼
zTree實作基本樹 ...
js數組string對象api常用方法
charAt() 方法可傳回指定位置的字元. stringObject.charAt(index) indexOf() 方法可傳回某個指定的字元串值在字元串中首次出現的位置. stringObject ...
python3字元串
Python3 字元串 Python字元串運算符 + 字元串連接配接 a + b 輸出結果: HelloPython * 重複輸出字元串 a*2 輸出結果:HelloHello [] 通過索引擷取字元串中 ...