《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > Android中實現TCP和UDP傳輸的方法
Android中實現TCP和UDP傳輸的方法
摘要: TCP和UDP在網絡傳輸中非常重要,在Android開發中同樣重要。
Abstract:
Key words :

  TCPUDP在網絡傳輸中非常重要,在Android開發中同樣重要。

  首先我們來看一下什么是TCP和UDP。

  什么是TCP?

  TCP:Transmission Control Protocol 傳輸控制協議TCP是一種面向連接(連接導向)的、可靠的、基于字節流的運輸層(Transport layer)通信協議,由IETF的RFC 793說明(specified)。在簡化的計算機網絡OSI模型中,它完成第四層傳輸層所指定的功能。應用層向TCP層發送用于網間傳輸的、用8位字節表示的數據流,然后TCP把數據流分割成適當長度的報文段(通常受該計算機連接的網絡的數據鏈路層的最大傳送單元(MTU)的限制)。之后TCP把結果包傳給IP層,由它來通過網絡將包傳送給接收端實體的TCP層。TCP為了保證不發生丟包,就給每個字節一個序號,同時序號也保證了傳送到接收端實體的包的按序接收。然后接收端實體對已成功收到的字節發回一個相應的確認(ACK);如果發送端實體在合理的往返時延(RTT)內未收到確認,那么對應的數據(假設丟失了)將會被重傳。TCP用一個校驗和函數來檢驗數據是否有錯誤;在發送和接收時都要計算校驗和。

  首先,TCP建立連接之后,通信雙方都同時可以進行數據的傳輸,其次,他是全雙工的;在保證可靠性上,采用超時重傳和捎帶確認機制。

  在流量控制上,采用滑動窗口協議[1],協議中規定,對于窗口內未經確認的分組需要重傳。

  在擁塞控制上,采用慢啟動算法。

  什么是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里是完全一樣的。

  首先我們看看TCP連接,下圖為TCP連接的一個示意圖:

  

        TCP傳輸原理

  是不是很好理解,這里就不多說了,直接看代碼吧!實踐出真知。

  TCP服務器端代碼:

  try {

  Boolean endFlag = false;

  ServerSocket ss = new ServerSocket(12345);

  while (!endFlag) {

  // 等待客戶端連接

  Socket s = ss.accept();

  BufferedReader input = new BufferedReader(newInputStreamReader(s.getInputStream()));

  //注意第二個參數據為true將會自動flush,否則需要需要手動操作output.flush()

  PrintWriter output = newPrintWriter(s.getOutputStream(),true);

  String message = input.readLine();

  Log.d(“Tcp Demo”, “message from Client:”+message);

  output.println(“message received!”);

  //output.flush();

  if(“shutDown”.equals(message)){

  endFlag=true;

  }

  s.close();

  }

  ss.close();

  } catch (UnknownHostException e) {

  e.printStackTrace();

  } catch (IOException e) {

  e.printStackTrace();

  }

  TCP客戶端代碼:

  try {

  Socket s = new Socket(“localhost”, 12345);

  // outgoing stream redirect to socket

  OutputStream out = s.getOutputStream();

  // 注意第二個參數據為true將會自動flush,否則需要需要手動操作out.flush()

  PrintWriter output = new PrintWriter(out, true);

  output.println(“Hello IdeasAndroid!”);

  BufferedReader input = new BufferedReader(newInputStreamReader(s

  .getInputStream()));

  // read line(s)

  String message = input.readLine();

  Log.d(“Tcp Demo”, “message From Server:” + message);

  s.close();

  } catch (UnknownHostException e) {

  e.printStackTrace();

  } catch (IOException e) {

  e.printStackTrace();

  }

 

  下面我們看看UDP:

  

  UDP傳輸原理

  UDP服務器端代碼:

  // UDP服務器監聽的端口

  Integer port = 12345; // 接收的字節大小,客戶端發送的數據不能超過這個大小

  byte[] message = new byte[1024];

  try {

  // 建立Socket連接

  DatagramSocket datagramSocket = new DatagramSocket(port);

  DatagramPacket datagramPacket = new DatagramPacket(message,

  message.length);

  try {

  while (true) {

  // 準備接收數據

  datagramSocket.receive(datagramPacket);

  Log.d(“UDP Demo”, datagramPacket.getAddress()

  .getHostAddress().toString()

  + “:” + new String(datagramPacket.getData()));

  }

  } catch (IOException e) {

  e.printStackTrace();

  }

  } catch (SocketException e) {

  e.printStackTrace();

  }

  UDP客戶端代碼:

  public static void send(String message) {

  message = (message == null ? “Hello IdeasAndroid!” : message);

  int server_port = 12345;

  DatagramSocket s = null;

  try {

  s = new DatagramSocket();

  } catch (SocketException e) {

  e.printStackTrace();

  }

  InetAddress local = null;

  try {

  // 換成服務器端IP

  local = InetAddress.getByName(“localhost”);

  } catch (UnknownHostException e) {

  e.printStackTrace();

  }

  int msg_length = message.length();

  byte[] messagemessageByte = message.getBytes();

  DatagramPacket p = new DatagramPacket(messageByte, msg_length, local,

  server_port);

  try {

  s.send(p);

  } catch (IOException e) {

  e.printStackTrace();

  }

  }

  代碼中需要注意的地方已做了注釋,希望本文對您有所幫助!

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          性欧美大战久久久久久久久| 欧美成人中文字幕在线| 国产精品三级久久久久久电影| 欧美午夜在线观看| 亚洲欧洲在线看| 99国产精品私拍| 亚洲国产成人91精品| 午夜精品久久久久久久| 亚洲国产精品一区二区www| 欧美国产大片| 亚洲精品视频一区| 亚洲国产小视频| 在线一区亚洲| 欧美在线999| 国产精品免费一区二区三区在线观看| 免费成年人欧美视频| 亚洲一区二区欧美日韩| 国产亚洲一区在线播放| 欧美粗暴jizz性欧美20| 最新成人av在线| 亚洲精品少妇网址| 亚洲高清不卡在线观看| 久热精品视频在线免费观看| 国产精品丝袜久久久久久app| 国内综合精品午夜久久资源| 欧美成人一区二区三区| 国产精品永久免费在线| 国产欧美日本一区视频| 国产精品黄色| 欧美日韩三级一区二区| 亚洲国产合集| 国产日韩欧美精品一区| 中文在线一区| 在线观看欧美一区| 免费在线观看日韩欧美| 亚洲国产成人久久| 午夜欧美不卡精品aaaaa| 99riav1国产精品视频| 欧美高清影院| 欧美激情综合色综合啪啪| 国产欧美欧洲在线观看| 精品成人在线视频| 在线电影院国产精品| 亚洲欧美日韩国产一区| 亚洲免费高清视频| 国产女主播一区| 国模大胆一区二区三区| 国产亚洲成人一区| 亚洲视频精选在线| 久久久久国产精品人| 麻豆精品一区二区综合av| 亚洲大片在线| 中文在线资源观看网站视频免费不卡| 国产欧美综合在线| 国产视频一区免费看| 亚洲影院高清在线| 在线看不卡av| 亚洲欧洲日产国产网站| 欧美性开放视频| 欧美黄色一区二区| 每日更新成人在线视频| 欧美二区乱c少妇| 欧美一区二区三区在线看| 欧美日韩午夜在线视频| 亚洲午夜91| 国产农村妇女精品一区二区| 欧美成人日韩| 国产精品久久久久影院色老大| 久久久国产视频91| 玖玖玖免费嫩草在线影院一区| 亚洲第一久久影院| 欧美在线免费观看| 亚洲高清不卡av| 国产精品私拍pans大尺度在线| 国产一区深夜福利| 在线国产欧美| 久久国产88| 国内精品久久久久久| 久久综合狠狠综合久久综青草| 国产亚洲a∨片在线观看| 亚洲欧美日韩国产成人| 欧美成人精精品一区二区频| 亚洲第一在线视频| 欧美日韩国产成人| 国产深夜精品福利| 国产精品久久久久一区二区三区共| 免费看精品久久片| 一区二区视频在线观看| 国产精品日本欧美一区二区三区| 欧美大胆成人| 欧美日韩精品二区第二页| 亚洲国产成人在线播放| 久久精品道一区二区三区| 在线观看日韩av| 麻豆成人91精品二区三区| 国产精品乱码久久久久久| 久久久久国色av免费看影院| 欧美日韩成人综合| 一本高清dvd不卡在线观看| 亚洲永久免费视频| 国产精品一区在线观看你懂的| 国产精品美女久久久久aⅴ国产馆| 欧美日韩国产小视频| 国产精品视频网| 欧美日韩免费高清| 日韩五码在线| 久久综合色88| 亚洲伊人久久综合| 亚洲电影在线免费观看| 亚洲国产精品一区在线观看不卡| 国产精品久久久久久亚洲调教| 国内一区二区三区在线视频| 欧美精品免费视频| 女生裸体视频一区二区三区| 午夜精品久久久久久久99水蜜桃| 午夜精品久久久久久久久久久久| 国产一区二区三区在线观看免费视频| 午夜天堂精品久久久久| 国内精品久久久久国产盗摄免费观看完整版| 欧美另类变人与禽xxxxx| 亚洲天堂激情| 99re6热在线精品视频播放速度| 国产一级久久| 午夜精品福利一区二区蜜股av| 国产精品多人| 久热精品在线| 久久精品毛片| 亚洲一区二区四区| 欧美成人激情视频免费观看| 国产精品久久久一区麻豆最新章节| 日韩视频在线永久播放| 亚洲最新色图| 一本色道久久| 国产精品99久久久久久有的能看| 久久国产精品色婷婷| 欧美日韩国产成人在线观看| 久久爱www久久做| 欧美大胆a视频| 老司机午夜免费精品视频| 久久久久国产免费免费| 嫩草国产精品入口| 一区二区动漫| 欧美日韩成人精品| 久久精品成人| 亚洲日本电影| 亚洲国产欧美在线| 欧美国产一区二区| 亚洲欧美日韩一区二区| 欧美搞黄网站| 香港久久久电影| 欧美四级在线| 午夜影视日本亚洲欧洲精品| 可以看av的网站久久看| 久久不射网站| 日韩一级成人av| 欧美性猛交xxxx乱大交退制版| 在线播放豆国产99亚洲| 影音先锋中文字幕一区二区| 欧美在线www| 久久久久久久久久久久久女国产乱| 1000部精品久久久久久久久| 欧美激情1区| 欧美一级视频| 欧美午夜视频在线| 欧美精品激情在线| 精品动漫av| 狠狠入ady亚洲精品| 亚洲三级电影全部在线观看高清| 一区二区高清在线| 一本到12不卡视频在线dvd| 国内一区二区三区| 欧美精品大片| 欧美视频在线观看 亚洲欧| 亚洲欧美日韩中文在线制服| 国产免费一区二区三区香蕉精| 亚洲一区二区精品视频| 欧美日韩国产黄| 91久久综合| 欧美福利专区| 欧美综合二区| 久久亚洲综合色一区二区三区| 99视频热这里只有精品免费| 亚洲免费观看在线观看| 伊人成人在线| 久久xxxx| 亚洲人成网站在线播| 欧美日韩免费在线观看| 日韩一二三在线视频播| 激情婷婷久久| 亚洲国产精品一区制服丝袜| 国产亚洲一区二区三区在线观看| 性欧美xxxx大乳国产app| 国产一区二区高清不卡| 新片速递亚洲合集欧美合集| 国产农村妇女精品| 亚洲黄色片网站| 亚洲精品欧美一区二区三区| 亚洲麻豆一区| 欧美一区网站| 久久精品亚洲一区二区| 黄色成人av在线| 国产亚洲欧美日韩一区二区| 欧美日韩国产在线观看| 国产精品视频福利| 欧美影院精品一区| 久久亚洲国产精品一区二区| 在线观看视频欧美| 午夜精品福利一区二区蜜股av| 欧美一级片在线播放| 欧美激情视频一区二区三区在线播放| 亚洲一区二区成人| 国产伦精品一区二区三区视频孕妇| 狠狠色丁香婷综合久久| 欧美精品亚洲二区| 久久精彩视频| 日韩一区二区免费看| 亚洲一级黄色av| 欧美三区免费完整视频在线观看| 亚洲一区视频在线观看视频| 欧美激情片在线观看| 欧美高清视频在线观看| 亚洲精品中文字幕在线观看| 99视频一区二区| 亚洲欧美在线免费观看| 久久国产毛片| 欧美影院视频| 一区二区三区高清不卡| 亚洲国产精品福利| 欧美日韩视频一区二区| 日韩一二在线观看| 亚洲国产精品成人精品| 香蕉久久夜色精品国产| 亚洲午夜一二三区视频| 国产精品天天摸av网| 夜夜嗨av一区二区三区中文字幕| 欧美日韩国产精品自在自线| 国产日韩欧美电影在线观看| 欧美亚韩一区| 国产香蕉97碰碰久久人人| 欧美专区第一页| 在线观看欧美一区| 夜夜躁日日躁狠狠久久88av| 欧美日韩中文字幕精品| 亚洲一区激情| 欧美亚洲第一页| 美女精品在线| 久久久久久午夜| 久久亚洲综合色一区二区三区| 亚洲天堂偷拍| 免费一级欧美在线大片| 欧美视频在线不卡| 亚洲狼人综合| 亚洲视频在线观看一区| 久久艳片www.17c.com| 欧美激情视频一区二区三区在线播放| 欧美日韩在线免费| 欧美aⅴ一区二区三区视频| 亚洲欧美一区二区精品久久久| 亚洲国产高清在线观看视频| 欧美亚洲动漫精品| 欧美性淫爽ww久久久久无| 欧美xxx成人| 一区二区日本视频| 久久国产精彩视频| 国产精品久久久久久av下载红粉| 国产婷婷色一区二区三区四区| 99精品欧美一区二区三区综合在线| 一区免费观看视频| 久久九九热re6这里有精品| 国产在线欧美| 久久一区二区三区国产精品| 欧美日韩精品系列| 国内成+人亚洲| 欧美福利电影在线观看| 国产一区二区三区四区五区美女| 国产欧美激情| 午夜精品久久久久久久| 亚洲欧美日本在线| 欧美成人性生活| 一本一道久久综合狠狠老精东影业| 久久精品女人| 91久久中文字幕| 蜜臀91精品一区二区三区| 蜜桃久久精品一区二区| 欧美a级一区| 欧美 日韩 国产精品免费观看| 国产一区二区三区在线免费观看| 欧美激情久久久久| 韩国成人理伦片免费播放| 久久国产一区| 国产精品美女久久久久久2018| 91久久精品美女| 亚洲区免费影片| 一区视频在线看| 国产女优一区| 国产欧美91| 久久这里只有精品视频首页| 国产亚洲一区二区精品| 欧美成人午夜激情在线| 欧美色欧美亚洲另类二区| 久久国产色av| 黄色成人在线网址| 欧美激情欧美狂野欧美精品| 亚洲在线观看视频网站| 欧美日本一区二区三区| 欧美高清视频www夜色资源网| 在线视频国产日韩| 香蕉国产精品偷在线观看不卡| 亚洲国产导航| 国产一区二区精品丝袜| 在线欧美福利| 国产一级久久| 久久国产66| 久久久久久一区二区三区| 校园激情久久| 夜夜嗨av一区二区三区网页| 久久久国产视频91| 老司机亚洲精品| 欧美激情欧美狂野欧美精品| 欧美二区乱c少妇| 国产精品欧美一区喷水| 日韩香蕉视频| 亚洲中字黄色| 欧美天天综合网| 亚洲国产精品va在线看黑人动漫| 国内精品久久国产| 依依成人综合视频| 国内精品久久久久影院色|