JavaTM 2 Platform
Standard Ed. 6

java.net
類別 DatagramPacket

java.lang.Object
  繼承者 java.net.DatagramPacket

public final class DatagramPacket
extends Object

此類別表示資料電報封包。

資料電報封包用來實作無連接包投遞服務。每條報文僅根據該套件中包含的資訊從一台機器路由到另一台機器。從一台機器發送到另一台機器的多個包可能選擇不同的路由,也可能按不同的順序到達。不對包投遞做出保證。

從以下版本開始:
JDK1.0

建構子摘要
DatagramPacket(byte[] buf, int length)
          建構 DatagramPacket,用來接收長度為 length 的資料封包。
DatagramPacket(byte[] buf, int length, InetAddress address, int port)
          建構資料電報封包,用來將長度為 length 的套件發送到指定主機上的指定埠號號。
DatagramPacket(byte[] buf, int offset, int length)
          建構 DatagramPacket,用來接收長度為 length 的套件,在緩衝區中指定了偏移量。
DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port)
          建構資料電報封包,用來將長度為 length 偏移量為 offset 的套件發送到指定主機上的指定埠號號。
DatagramPacket(byte[] buf, int offset, int length, SocketAddress address)
          建構資料電報封包,用來將長度為 length 偏移量為 offset 的套件發送到指定主機上的指定埠號號。
DatagramPacket(byte[] buf, int length, SocketAddress address)
          建構資料電報封包,用來將長度為 length 的套件發送到指定主機上的指定埠號號。
 
方法摘要
 InetAddress getAddress()
          返回某台機器的 IP 位址,此資料電報將要發往該機器或者是從該機器接收到的。
 byte[] getData()
          返回資料緩衝區。
 int getLength()
          返回將要發送或接收到的資料的長度。
 int getOffset()
          返回將要發送或接收到的資料的偏移量。
 int getPort()
          返回某台遠端主機的埠號號,此資料電報將要發往該主機或者是從該主機接收到的。
 SocketAddress getSocketAddress()
          獲取要將此套件發送到的或發出此資料電報的遠端主機的 SocketAddress(通常為 IP 位址 + 埠號號)。
 void setAddress(InetAddress iaddr)
          設置要將此資料電報發往的那台機器的 IP 位址。
 void setData(byte[] buf)
          為此套件設置資料緩衝區。
 void setData(byte[] buf, int offset, int length)
          為此套件設置資料緩衝區。
 void setLength(int length)
          為此套件設置長度。
 void setPort(int iport)
          設置要將此資料電報發往的遠端主機上的埠號號。
 void setSocketAddress(SocketAddress address)
          設置要將此資料電報發往的遠端主機的 SocketAddress(通常為 IP 位址 + 埠號號)。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

DatagramPacket

public DatagramPacket(byte[] buf,
                      int offset,
                      int length)
建構 DatagramPacket,用來接收長度為 length 的套件,在緩衝區中指定了偏移量。

length 參數必須小於等於 buf.length

參數:
buf - 保存傳入資料電報的緩衝區。
offset - 緩衝區的偏移量
length - 讀取的位元組數。
從以下版本開始:
1.2

DatagramPacket

public DatagramPacket(byte[] buf,
                      int length)
建構 DatagramPacket,用來接收長度為 length 的資料封包。

length 參數必須小於等於 buf.length

參數:
buf - 保存傳入資料電報的緩衝區。
len - 要讀取的位元組數。

DatagramPacket

public DatagramPacket(byte[] buf,
                      int offset,
                      int length,
                      InetAddress address,
                      int port)
建構資料電報封包,用來將長度為 length 偏移量為 offset 的套件發送到指定主機上的指定埠號號。length 參數必須小於等於 buf.length

參數:
buf - 套件資料。
offset - 套件資料偏移量。
length - 套件資料長度。
address - 目的位址。
port - 目的埠號號。
從以下版本開始:
1.2
另請參見:
InetAddress

DatagramPacket

public DatagramPacket(byte[] buf,
                      int offset,
                      int length,
                      SocketAddress address)
               throws SocketException
建構資料電報封包,用來將長度為 length 偏移量為 offset 的套件發送到指定主機上的指定埠號號。length 參數必須小於等於 buf.length

參數:
buf - 套件資料。
offset - 套件資料偏移量。
length - 套件資料長度。
address - 目的Socket位址。
拋出:
IllegalArgumentException - 如果位址型別不受支持
SocketException
從以下版本開始:
1.4
另請參見:
InetAddress

DatagramPacket

public DatagramPacket(byte[] buf,
                      int length,
                      InetAddress address,
                      int port)
建構資料電報封包,用來將長度為 length 的套件發送到指定主機上的指定埠號號。length 參數必須小於等於 buf.length

參數:
buf - 套件資料。
length - 套件長度。
address - 目的位址。
port - 目的埠號號。
另請參見:
InetAddress

DatagramPacket

public DatagramPacket(byte[] buf,
                      int length,
                      SocketAddress address)
               throws SocketException
建構資料電報封包,用來將長度為 length 的套件發送到指定主機上的指定埠號號。length 參數必須小於等於 buf.length

參數:
buf - 套件資料。
length - 套件長度。
address - 目的位址。
拋出:
IllegalArgumentException - 如果位址型別不受支持
SocketException
從以下版本開始:
1.4
另請參見:
InetAddress
方法詳細資訊

getAddress

public InetAddress getAddress()
返回某台機器的 IP 位址,此資料電報將要發往該機器或者是從該機器接收到的。

返回:
某台機器的 IP 位址,此資料電報將要發往該機器或者是從該機器接收到的。
另請參見:
InetAddress, setAddress(java.net.InetAddress)

getPort

public int getPort()
返回某台遠端主機的埠號號,此資料電報將要發往該主機或者是從該主機接收到的。

返回:
返回某台遠端主機的埠號號,此資料電報將要發往該主機或者是從該主機接收到的。
另請參見:
setPort(int)

getData

public byte[] getData()
返回資料緩衝區。接收到的或將要發送的資料從緩衝區中的偏移量 offset 處開始,持續 length 長度。

返回:
用來接收或發送資料的緩衝區
另請參見:
setData(byte[], int, int)

getOffset

public int getOffset()
返回將要發送或接收到的資料的偏移量。

返回:
將要發送或接收到的資料的偏移量。
從以下版本開始:
1.2

getLength

public int getLength()
返回將要發送或接收到的資料的長度。

返回:
將要發送或接收到的資料的長度。
另請參見:
setLength(int)

setData

public void setData(byte[] buf,
                    int offset,
                    int length)
為此套件設置資料緩衝區。此方法設置套件的資料、長度和偏移量。

參數:
buf - 要為此套件設置的緩衝區。
offset - 資料中的偏移量
length - 資料的長度和/或用來接收資料的緩衝區長度。
拋出:
NullPointerException - 如果參數為 null。
從以下版本開始:
1.2
另請參見:
getData(), getOffset(), getLength()

setAddress

public void setAddress(InetAddress iaddr)
設置要將此資料電報發往的那台機器的 IP 位址。

參數:
iaddr - InetAddress
從以下版本開始:
JDK1.1
另請參見:
getAddress()

setPort

public void setPort(int iport)
設置要將此資料電報發往的遠端主機上的埠號號。

參數:
iport - 埠號號
從以下版本開始:
JDK1.1
另請參見:
getPort()

setSocketAddress

public void setSocketAddress(SocketAddress address)
設置要將此資料電報發往的遠端主機的 SocketAddress(通常為 IP 位址 + 埠號號)。

參數:
address - SocketAddress
拋出:
IllegalArgumentException - 如果位址為 null 或為不受此Socket支持的 SocketAddress 子類別。
從以下版本開始:
1.4
另請參見:
getSocketAddress()

getSocketAddress

public SocketAddress getSocketAddress()
獲取要將此套件發送到的或發出此資料電報的遠端主機的 SocketAddress(通常為 IP 位址 + 埠號號)。

返回:
SocketAddress
從以下版本開始:
1.4
另請參見:
setSocketAddress(java.net.SocketAddress)

setData

public void setData(byte[] buf)
為此套件設置資料緩衝區。將此 DatagramPacket 的偏移量設置為 0,長度設置為 buf 的長度。

參數:
buf - 要為此套件設置的緩衝區。
拋出:
NullPointerException - 如果參數為 null。
從以下版本開始:
JDK1.1
另請參見:
getLength(), getData()

setLength

public void setLength(int length)
為此套件設置長度。套件的長度是指包資料緩衝區中將要發送的位元組數,或用來接收資料的套件資料緩衝區的位元組數。長度必須小於等於偏移量與包緩衝區長度之和。

參數:
length - 要為此套件設置的長度。
拋出:
IllegalArgumentException - 如果長度為負或大於包資料緩衝區長度。
從以下版本開始:
JDK1.1
另請參見:
getLength(), setData(byte[], int, int)

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only