国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

android的UDP編程實例

2020-04-11 12:01:14
字體:
來源:轉載
供稿:網友
一、有的手機不能直接接收UDP包,可能是手機廠商在定制Rom的時候把這個功能給關掉了。
1、可先在oncreate()方法里面實例化一個WifiManager.MulticastLock 對象lock;具體如下:
復制代碼 代碼如下:

WifiManager manager = (WifiManager) this
                .getSystemService(Context.WIFI_SERVICE);
WifiManager.MulticastLock lock= manager.createMulticastLock("test wifi");

2、在調用廣播發送、接收報文之前先調用lock.acquire()方法;
3、用完之后及時調用lock.release()釋放資源,否決多次調用lock.acquire()方法,程序可能會崩,詳情請見
Caused by: java.lang.UnsupportedOperationException: Exceeded maximum number of wifi locks
注;記得在配置文件里面添加如下權限:
復制代碼 代碼如下:

<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />

經過這樣處理后,多數手機都能正常發送接收到廣播報文。
本小點轉載自Android手機接收不到UDP報文
二、在UDP通信中,android端發送UDP廣播包沒有問題。至于接收的話,有時候不能接收到包。
在UDP通信中,android端發送UDP廣播包沒有問題。至于接收的話,有時候不能接收到包。但是如果UDP包中指定了目標主機的地址的話,那么android端就能正常接收。
下面上一段代碼,大家可用這段代碼進行測試。
1、在一個Service里面,我們創建一個線程
復制代碼 代碼如下:

public void onCreate() {//用于創建線程
        WifiManager manager = (WifiManager) this
                .getSystemService(Context.WIFI_SERVICE);
        udphelper = new UdpHelper(manager);

        //傳遞WifiManager對象,以便在UDPHelper類里面使用MulticastLock
        udphelper.addObserver(MsgReceiveService.this);
        tReceived = new Thread(udphelper);
        tReceived.start();
        super.onCreate();
    }

2、弄一個UDP幫助類,這個類主要用于發送和接收數據
復制代碼 代碼如下:

package com.example.com.ihome.bang.util;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.MulticastSocket;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Observable;
import com.example.com.ihome.bang.tool.SendThread;
import android.net.wifi.WifiManager;
import android.util.Log;
/**
 *
 * UdpHelper幫助類
 *
 * @author 陳 主站蜘蛛池模板: 菏泽市| 定远县| 临邑县| 普安县| 海盐县| 吴旗县| 阳原县| 和硕县| 新野县| 崇信县| 长海县| 榆中县| 洛浦县| 双鸭山市| 锦屏县| 齐河县| 冷水江市| 南部县| 望谟县| 仪征市| 崇信县| 乌兰察布市| 汶川县| 长乐市| 黔西县| 合作市| 灯塔市| 民权县| 安乡县| 嵩明县| 新蔡县| 曲阜市| 舞钢市| 姚安县| 平舆县| 秦安县| 玉溪市| 娱乐| 邹平县| 濮阳县| 陇川县|