成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java UDP協議編程要點

網絡 網絡管理
Java UDP協議的有關內容我們在文章涉及了遠離,編程過程,以及重點語句的解析等內容。具體內容請大家參考下文。

Java語言是我們常使用的一種UDP協議的編輯工具。那么針對Java UDP協議的編輯過程,我們需要注意一些什么呢?下面我們就針對這方面,進行了一些必要的講解。主要是針對一些重點語句的意思以及相關內容進行了解析。

一. UDP協議定義

UDP協議的全稱是用戶數據報,在網絡中它與TCP協議一樣用于處理數據包。在OSI模型中,在第四層——傳輸層,處于IP協議的上一層。UDP有不提供數據報分組、組裝和不能對數據包的排序的缺點,也就是說,當報文發送之后,是無法得知其是否安全完整到達的。

二. 使用UDP的原因

它不屬于連接型協議,因而具有資源消耗小,處理速度快的優點,所以通常音頻、視頻和普通數據在傳送時使用UDP較多,因為它們即使偶爾丟失一兩個數據包,也不會對接收結果產生太大影響。比如我們聊天用的ICQ和OICQ就是使用的UDP協議。在選擇使用協議的時候,選擇UDP必須要謹慎。在網絡質量令人不十分滿意的環境下,UDP協議數據包丟失會比較嚴重。

三. Java UDP協議編程的相關類

1. InetAddress

用于描述和包裝一個Internet IP地址。有如下方法返回實例:

getLocalhost():返回封裝本地地址的實例。

getAllByName(String host):返回封裝Host地址的InetAddress實例數組。

getByName(String host):返回一個封裝Host地址的實例。其中,Host可以是域名或者是一個合法的IP地址。

InetAddress.getByAddress(addr):根據地址串返回InetAddress實例。

InetAddress.getByAddress(host, addr):根據主機地符串和地址串返回InetAddress實例。

2. DatagramSocket

Java UDP協議的編輯中,用于接收和發送UDP的Socket實例。該類有3個構造函數:

DatagramSocket():通常用于客戶端編程,它并沒有特定監聽的端口,僅僅使用一個臨時的。程序會讓操作系統分配一個可用的端口。

DatagramSocket(int port):創建實例,并固定監聽Port端口的報文。通常用于服務端

DatagramSocket(int port, InetAddress localAddr):這是個非常有用的構建器,當一臺機器擁有多于一個IP地址的時候,由它創建的實例僅僅接收來自LocalAddr的報文。

DatagramSocket具有的主要方法如下:

1)receive(DatagramPacket d):接收數據報文到d中。receive方法產生一個“阻塞”。“阻塞”是一個專業名詞,它會產生一個內部循環,使程序暫停在這個地方,直到一個條件觸發。#p#

2)send(DatagramPacket dp):發送報文dp到目的地。

3)setSoTimeout(int timeout):設置超時時間,單位為毫秒。

4)close():關閉DatagramSocket。在應用程序退出的時候,通常會主動釋放資源,關閉Socket,但是由于異常地退出可能造成資源無法回收。所以,應該在程序完成時,主動使用此方法關閉Socket,或在捕獲到異常拋出后關閉Socket。

3. DatagramPacket

Java UDP協議的編輯中,用于處理報文,它將Byte數組、目標地址、目標端口等數據包裝成報文或者將報文拆卸成Byte數組。應用程序在產生數據包是應該注意,TCP/IP規定數據報文大小最多包含65507個,通常主機接收548個字節,但大多數平臺能夠支持8192字節大小的報文。DatagramPacket類的構建器共有4個:

DatagramPacket(byte[] buf, int length):將數據包中Length長的數據裝進Buf數組,一般用來接收客戶端發送的數據。

DatagramPacket(byte[] buf, int offset, int length):將數據包中從Offset開始、Length長的數據裝進Buf數組。

DatagramPacket(byte[] buf, int length, InetAddress clientAddress, int clientPort):從Buf數組中,取出Length長的數據創建數據包對象,目標是clientAddress地址,clientPort端口,通常用來發送數據給客戶端。

DatagramPacket(byte[] buf, int offset, int length, InetAddress clientAddress, int clientPort):從Buf數組中,取出Offset開始的、Length長的數據創建數據包對象,目標是clientAddress地址,clientPort端口,通常用來發送數據給客戶端。

主要的方法如下:

1)getData(): 從實例中取得報文的Byte數組編碼。

2)setDate(byte[]  buf):將byte數組放入要發送的報文中。

責任編輯:佟健 來源: 互聯網
相關推薦

2010-07-06 15:50:12

TCP和UDP協議

2014-06-13 13:47:31

UDP

2010-07-12 15:40:24

2010-07-06 15:28:57

UDP協議基礎

2010-07-08 12:58:03

UDP協議

2010-07-12 14:41:35

UDP協議

2010-07-06 15:16:34

UDP協議

2010-06-29 12:42:05

UDP協議Java

2013-06-13 10:08:41

BGP協議路由器協議

2010-07-08 14:25:12

HART協議

2013-08-01 10:01:02

網絡協議TCP協議UDP協議

2010-07-06 15:43:04

UDP協議

2010-07-08 12:42:34

UDP協議

2010-07-12 21:14:09

UDP協議

2010-07-13 09:36:25

2020-01-03 07:57:39

UDPTCP網絡協議

2010-07-05 16:17:18

UDP協議

2010-06-28 15:45:07

UDP協議

2010-07-01 16:33:08

UDP協議

2010-07-07 11:29:28

UDP協議特點
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区日韩精品 | 精品美女 | 日韩一区二区三区精品 | 久久五月婷 | 麻豆久久精品 | 国产成人精品一区二区三区视频 | 欧美久久一区二区三区 | 国产成人a亚洲精品 | 免费成人高清在线视频 | 国产欧美一区二区精品久导航 | 青青草视频免费观看 | 美女张开腿露出尿口 | 色综合久 | 欧美一区二区三区视频在线观看 | 欧美日韩专区 | 国产精品波多野结衣 | 亚洲播放一区 | 草草视频在线观看 | 欧美8一10sex性hd | 日韩一二三区视频 | 一级日批片 | 一区二区三区高清 | 欧美黄色小视频 | 国产精品久久久久久网站 | 午夜www| 黄篇网址 | 久久亚洲一区 | 亚洲福利一区二区 | 一区二区三区高清不卡 | 大久| 91精品国产综合久久婷婷香蕉 | 亚洲精品久久久久久一区二区 | 国产亚洲精品久久久久久豆腐 | 欧日韩在线| av国产精品 | k8久久久一区二区三区 | 天天噜天天干 | 草草视频在线播放 | 成人性视频免费网站 | 国产四区| 黄色电影在线免费观看 |