亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android網絡編程之UDP通信模型實例

2020-04-11 11:43:32
字體:
來源:轉載
供稿:網友

什么是Android UDP?

UDP是User Datagram Protocol的簡稱,中文名是用戶數據包協議,是OSI參考模型中一種無連接的傳輸層協議,提供面向事務的簡單不可靠信息傳送服務。它是IETF RFC 768是UDP的正式規范。在網絡中它與TCP協議一樣用于處理數據包。在OSI模型中,在第四層-傳輸層,處于IP協議的上一層。UDP有不提供數據報分組、組裝和不能對數據包的排序的缺點,也就是說,當報文發送之后,是無法得知其是否安全完整到達的。UDP用來支持那些需要在計算機之間傳輸數據的網絡應用。包括網絡視頻會議系統在內的眾多的客戶/服務器模式的網絡應用都需要使用UDP協議。UDP協議從問世至今已經被使用了很多年,雖然其最初的光彩已經被一些類似協議所掩蓋,但是即使是在今天,UDP仍然不失為一項非常實用和可行的網絡傳輸層協議。

與所熟知的TCP(傳輸控制協議)協議一樣,UDP協議直接位于IP(網際協議)協議的頂層。根據OSI(開放系統互連)參考模型,UDP和TCP都屬于傳輸層協議。

UDP協議的主要作用是將網絡數據流量壓縮成數據報的形式。一個典型的數據報就是一個二進制數據的傳輸單位。每一個數據報的前8個字節用來包含報頭信息,剩余字節則用來包含具體的傳輸數據。

TCP和UDP在android中的使用和在Java里是完全一樣的。

服務端:

復制代碼 代碼如下:

package com.cheerchip.core;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;

import android.util.Log;

public class UDPServer implements Runnable {

 private static final int PORT = 6000;

 private byte[] msg = new byte[1024];

 private boolean life = true;

 public UDPServer() {
 }

 /**
  * @return the life
  */
 public boolean isLife() {
  return life;
 }

 /**
  * @param life
  *            the life to set
  */
 public void setLife(boolean life) {
  this.life = life;
 }

 @Override
 public void run() {
  DatagramSocket dSocket = null;
  DatagramPacket dPacket = new DatagramPacket(msg, msg.length);
  try {
   dSocket = new DatagramSocket(PORT);
   while (life) {
    try {
     dSocket.receive(dPacket);
     Log.i("msg sever received", new String(dPacket.getData()));
    } catch (IOException e) {
     e.printStackTrace();
    }
   }
  } catch (SocketException e) {
   e.printStackTrace();
  }
 }
}

客戶端:

復制代碼 代碼如下:

package com.cheerchip.core;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;

public class UDPClient {

 private static final int SERVER_PORT = 6000;

 private DatagramSocket dSocket = null;

 private String msg;

 /**
  * @param msg
  */
 public UDPClient(String msg) {
  super();
  this.msg = msg;
 }

 /**
  * 發送信息到服務器
  */
 public String send() {
  StringBuilder sb = new StringBuilder();
  InetAddress local = null;
  try {
   local = InetAddress.getByName("localhost"); // 本機測試
   sb.append("已找到服務器,連接中...").append("/n");
  } catch (UnknownHostException e) {
   sb.append("未找到服務器.").append("/n");
   e.printStackTrace();
  }
  try {
   dSocket = new DatagramSocket(); // 注意此處要先在配置文件里設置權限,否則會拋權限不足的異常
   sb.append("正在連接服務器...").append("/n");
  } catch (SocketException e) {
   e.printStackTrace();
   sb.append("服務器連接失敗.").append("/n");
  }
  int msg_len = msg == null ? 0 : msg.length();
  DatagramPacket dPacket = new DatagramPacket(msg.getBytes(), msg_len,
    local, SERVER_PORT);
  try {
   dSocket.send(dPacket);
   sb.append("消息發送成功!").append("/n");
  } catch (IOException e) {
   e.printStackTrace();
   sb.append("消息發送失敗.").append("/n");
  }
  dSocket.close();
  return sb.toString();
 }

}

主Activity:

復制代碼 代碼如下:

public class MainAct extends Activity {

 EditText msg_et = null;
 Button send_bt = null;
 TextView info_tv = null;

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  msg_et = (EditText) findViewById(R.id.msg_et);
  send_bt = (Button) findViewById(R.id.send_bt);
  info_tv = (TextView) findViewById(R.id.info_tv);

  // 開啟服務器
  ExecutorService exec = Executors.newCachedThreadPool();
  UDPServer server = new UDPServer();
  exec.execute(server);

  // 發送消息
  send_bt.setOnClickListener(new OnClickListener() {
   @Override
   public void onClick(View v) {
    UDPClient client = new UDPClient(msg_et.getText().toString());
    info_tv.setText(client.send());
   }
  });
 }
}

注意在配置文件中要加上:

以獲取相應的權限。

效果圖:

LogCat打印出來的服務器端信息:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91在线视频导航| 国产美女91呻吟求| 日韩免费在线观看视频| 国产日韩精品电影| 在线观看国产成人av片| 国产免费一区二区三区在线能观看| 91chinesevideo永久地址| 日本a级片电影一区二区| 久久精品成人一区二区三区| 全亚洲最色的网站在线观看| 亚洲欧美激情在线视频| 亚洲美腿欧美激情另类| 国产精品视频在线播放| 亚洲jizzjizz日本少妇| 日韩av男人的天堂| 久久手机免费视频| 久久99久国产精品黄毛片入口| 欧美视频在线免费看| 欧美一区二区影院| 久久免费成人精品视频| 中文字幕精品一区二区精品| 国产精品视频久久久久| 日韩精品视频观看| 国产成人高潮免费观看精品| 中文字幕亚洲欧美一区二区三区| 国产亚洲精品激情久久| 亚洲欧美国产va在线影院| 97免费视频在线播放| 国产成人av网址| 亚洲一区二区久久久久久久| 久久激情视频免费观看| 欧美在线精品免播放器视频| 国产欧美久久久久久| 国产精品久久久久久久久久久新郎| 日韩av高清不卡| 国产国产精品人在线视| 欧美孕妇性xx| www.美女亚洲精品| 97福利一区二区| 亚洲91av视频| 国产精品7m视频| 日韩精品免费在线视频观看| 久久精品国产v日韩v亚洲| 欧美日韩亚洲精品一区二区三区| 国产精品视频26uuu| 亚洲国产精品资源| 97免费中文视频在线观看| 欧美一区亚洲一区| 精品久久中文字幕| 丁香五六月婷婷久久激情| 欧美制服第一页| 欧美限制级电影在线观看| 91国语精品自产拍在线观看性色| 国产91精品最新在线播放| 中文字幕亚洲精品| 欧美成人激情视频| 在线观看欧美成人| 在线看日韩欧美| 亚洲综合在线小说| 亚洲精品视频免费在线观看| 亚洲一区二区中文字幕| 久久精品视频在线播放| 久久这里只有精品视频首页| 久久久精品999| 米奇精品一区二区三区在线观看| 欧美多人乱p欧美4p久久| 欧美电影在线免费观看网站| 91av国产在线| 日韩免费黄色av| 国产亚洲欧洲高清一区| 欧美精品久久久久| 日韩av免费在线播放| 国产v综合ⅴ日韩v欧美大片| 欧美电影免费观看电视剧大全| 日韩av在线网页| 日韩久久免费视频| 海角国产乱辈乱精品视频| 91色琪琪电影亚洲精品久久| 97av在线影院| 欧美午夜精品久久久久久人妖| 一区二区三区精品99久久| 国产精品成人一区二区| 国产精品嫩草视频| 欧美做爰性生交视频| 久久福利视频网| 热久久视久久精品18亚洲精品| 欧美性生交大片免费| 日韩一区视频在线| 国产欧美日韩中文字幕在线| 欧美亚洲日本黄色| 久久精品国产亚洲一区二区| 亚洲qvod图片区电影| 日韩黄色在线免费观看| 欧美激情videoshd| 国产精品流白浆视频| 国产精品久久一区主播| 精品久久久久久亚洲国产300| 中文字幕一精品亚洲无线一区| 性欧美办公室18xxxxhd| 国产成人精品免高潮在线观看| 欧美成人精品三级在线观看| 国产在线不卡精品| 亚洲精品理论电影| 81精品国产乱码久久久久久| 色yeye香蕉凹凸一区二区av| 欧美日韩亚洲一区二| 国产精品99导航| 国产精彩精品视频| 日韩av电影国产| 国产精品啪视频| 亚洲japanese制服美女| 欧美精品久久久久久久久久| 国产精品日韩在线| 不卡av电影院| 日韩视频精品在线| 国产精品96久久久久久又黄又硬| 欧美性xxxx在线播放| 久久久久久有精品国产| 亚洲精品狠狠操| 国产精品女人久久久久久| 国产精品美女午夜av| 欧美性色视频在线| 精品国产一区二区三区四区在线观看| 日韩欧美在线第一页| 国产精品1区2区在线观看| 欧美猛交ⅹxxx乱大交视频| 日韩中文av在线| 国产精品视频yy9099| 欧美日韩亚洲一区二区| 日韩欧美国产高清91| 伊人久久久久久久久久久久久| 久久精品中文字幕电影| 国产精品视频99| 欧美日韩国产在线播放| 欧美电影免费观看电视剧大全| 欧洲亚洲免费视频| 精品国产一区二区三区久久| 国产亚洲欧美日韩一区二区| 亚洲国产高清福利视频| 亚洲欧洲自拍偷拍| 久久久噜噜噜久久中文字免| 国产成人自拍视频在线观看| 国产自产女人91一区在线观看| 日韩电影中文字幕在线观看| 奇米4444一区二区三区| 亚洲高清一区二| 亚洲视频在线观看网站| 红桃视频成人在线观看| 亚洲奶大毛多的老太婆| 欧美一级在线亚洲天堂| 久久久免费精品| 国产a级全部精品| 欧美大片免费观看在线观看网站推荐| 亚洲一区二区三区四区在线播放| 欧美另类老女人| 欧美激情一区二区三区在线视频观看| 日韩欧美在线看| 亚洲成人1234| 亚洲成人免费网站| 亚洲精品按摩视频| 神马国产精品影院av| www.欧美精品一二三区| 久久成人这里只有精品| 国产精品久久久久久久久久久久|