JavaTM 2 Platform
Standard Ed. 6

java.net
類別 DatagramSocketImpl

java.lang.Object
  繼承者 java.net.DatagramSocketImpl
所有已實作的介面:
SocketOptions

public abstract class DatagramSocketImpl
extends Object
implements SocketOptions

資料電報和多點傳送Socket實作的抽象基礎類別。

從以下版本開始:
JDK1.1

欄位摘要
protected  FileDescriptor fd
          檔案描述符物件。
protected  int localPort
          本地埠號號。
 
從介面 java.net.SocketOptions 繼承的欄位
IP_MULTICAST_IF, IP_MULTICAST_IF2, IP_MULTICAST_LOOP, IP_TOS, SO_BINDADDR, SO_BROADCAST, SO_KEEPALIVE, SO_LINGER, SO_OOBINLINE, SO_RCVBUF, SO_REUSEADDR, SO_SNDBUF, SO_TIMEOUT, TCP_NODELAY
 
建構子摘要
DatagramSocketImpl()
           
 
方法摘要
protected abstract  void bind(int lport, InetAddress laddr)
          將資料電報Socket綁定到本地埠號和位址。
protected abstract  void close()
          關閉Socket。
protected  void connect(InetAddress address, int port)
          將資料電報Socket連接到遠端目標。
protected abstract  void create()
          創建資料電報Socket。
protected  void disconnect()
          斷開資料電報Socket和遠端目標的連接。
protected  FileDescriptor getFileDescriptor()
          獲取資料電報Socket檔案描述符。
protected  int getLocalPort()
          獲取本地埠號。
protected abstract  int getTimeToLive()
          獲取 TTL (生存時間)選項。
protected abstract  byte getTTL()
          已過時。 使用 getTimeToLive 代替。
protected abstract  void join(InetAddress inetaddr)
          加入多點傳送組。
protected abstract  void joinGroup(SocketAddress mcastaddr, NetworkInterface netIf)
          加入多點傳送組。
protected abstract  void leave(InetAddress inetaddr)
          退出多點傳送組。
protected abstract  void leaveGroup(SocketAddress mcastaddr, NetworkInterface netIf)
          退出多點傳送組。
protected abstract  int peek(InetAddress i)
          查看包來自哪裡。
protected abstract  int peekData(DatagramPacket p)
          查看包來自哪裡。
protected abstract  void receive(DatagramPacket p)
          接收資料電報封包。
protected abstract  void send(DatagramPacket p)
          發送資料電報封包。
protected abstract  void setTimeToLive(int ttl)
          設置 TTL (生存時間)選項。
protected abstract  void setTTL(byte ttl)
          已過時。 使用 setTimeToLive 代替。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
從介面 java.net.SocketOptions 繼承的方法
getOption, setOption
 

欄位詳細資訊

localPort

protected int localPort
本地埠號號。


fd

protected FileDescriptor fd
檔案描述符物件。

建構子詳細資訊

DatagramSocketImpl

public DatagramSocketImpl()
方法詳細資訊

create

protected abstract void create()
                        throws SocketException
創建資料電報Socket。

拋出:
SocketException - 如果底層協議出現錯誤,例如 TCP 錯誤。

bind

protected abstract void bind(int lport,
                             InetAddress laddr)
                      throws SocketException
將資料電報Socket綁定到本地埠號和位址。

參數:
lport - 本地埠號
laddr - 本地位址
拋出:
SocketException - 如果底層協議出現錯誤,例如 TCP 錯誤。

send

protected abstract void send(DatagramPacket p)
                      throws IOException
發送資料電報封包。包包含資料和要將包發往的目的位址。

參數:
p - 將發送的套件。
拋出:
IOException - 如果發送資料電報封包時出現 I/O 異常。
PortUnreachableException - Socket連接到當前不可達的目標時可能拋出。注意,不能保證一定拋出該異常。

connect

protected void connect(InetAddress address,
                       int port)
                throws SocketException
將資料電報Socket連接到遠端目標。此方法使本地Socket和遠端位址相關聯,從而資料電報只能被發送到此目標並只能從此目標被接收。可以覆寫此方法來調用本機系統連接。

如果Socket要連接的遠端目標不存在或不可到達,並且收到了該位址的目標不可達 ICMP 套件,那麼後續發送和接收的調用可能會拋出 PortUnreachableException。注意,不能保證一定拋出該異常。

參數:
address - 要連接的遠端 InetAddress
port - 遠端埠號號
拋出:
SocketException - Socket不能連接到遠端目標時可能拋出
從以下版本開始:
1.4

disconnect

protected void disconnect()
斷開資料電報Socket和遠端目標的連接。

從以下版本開始:
1.4

peek

protected abstract int peek(InetAddress i)
                     throws IOException
查看包來自哪裡。將指定的 InetAddress 更新為發送套件的位址。

參數:
i - InetAddress 物件
返回:
發送套件的埠號號。
拋出:
IOException - 如果發生 /O 異常
PortUnreachableException - Socket連接到當前不可到達的目標時可能拋出。注意,不能保證一定拋出該異常。

peekData

protected abstract int peekData(DatagramPacket p)
                         throws IOException
查看包來自哪裡。資料被複製到指定的 DatagramPacket。資料返回,但不用掉,以便後續 peekData/receive 操作能看到相同的資料。

參數:
p - 收到的套件。
返回:
發送套件的埠號號。
拋出:
IOException - 如果出現 /O 異常
PortUnreachableException - Socket連接到當前不可到達的目標時可能拋出。注意,不能保證一定拋出該異常。
從以下版本開始:
1.4

receive

protected abstract void receive(DatagramPacket p)
                         throws IOException
接收資料電報封包。

參數:
p - 收到的套件。
拋出:
IOException - 如果接收資料電報封包時發生 I/O 異常。
PortUnreachableException - Socket連接到當前不可達的目標時可能拋出。注意,不能保證一定拋出該異常。

setTTL

@Deprecated
protected abstract void setTTL(byte ttl)
                        throws IOException
已過時。 使用 setTimeToLive 代替。

設置 TTL(生存時間)選項。

參數:
ttl - 指定 TTL 值的 byte。
拋出:
IOException - 如果設置生存時間選項時發生 I/O 異常。
另請參見:
getTTL()

getTTL

@Deprecated
protected abstract byte getTTL()
                        throws IOException
已過時。 使用 getTimeToLive 代替。

獲取 TTL(生存時間)選項。

返回:
表示 TTL 值的位元組
拋出:
IOException - 如果獲取生存時間選項時發生 I/O 異常
另請參見:
setTTL(byte)

setTimeToLive

protected abstract void setTimeToLive(int ttl)
                               throws IOException
設置 TTL (生存時間)選項。

參數:
ttl - 指定生存時間的 int
拋出:
IOException - 如果設置生存時間選項時發生 I/O 異常。
另請參見:
getTimeToLive()

getTimeToLive

protected abstract int getTimeToLive()
                              throws IOException
獲取 TTL (生存時間)選項。

返回:
表示生存時間的 int
拋出:
IOException - 如果獲取生存時間選項時發生 I/O 異常。
另請參見:
setTimeToLive(int)

join

protected abstract void join(InetAddress inetaddr)
                      throws IOException
加入多點傳送組。

參數:
inetaddr - 要加入的多點傳送位址。
拋出:
IOException - 如果加入多點傳送組時發生 I/O 異常。

leave

protected abstract void leave(InetAddress inetaddr)
                       throws IOException
退出多點傳送組。

參數:
inetaddr - 要退出的多點傳送位址。
拋出:
IOException - 如果退出多點傳送組時出現 I/O 異常。

joinGroup

protected abstract void joinGroup(SocketAddress mcastaddr,
                                  NetworkInterface netIf)
                           throws IOException
加入多點傳送組。

參數:
mcastaddr - 要加入的位址。
netIf - 指定接收多點傳送資料電報封包的本地介面
拋出:
IOException - 如果加入多點傳送組時出現 I/O 異常
從以下版本開始:
1.4

leaveGroup

protected abstract void leaveGroup(SocketAddress mcastaddr,
                                   NetworkInterface netIf)
                            throws IOException
退出多點傳送組。

參數:
mcastaddr - 要退出的位址。
netIf - 指定的退出組的本地介面 throws IOException 如果退出多點傳送組時出現 I/O 異常
拋出:
IOException
從以下版本開始:
1.4

close

protected abstract void close()
關閉Socket。


getLocalPort

protected int getLocalPort()
獲取本地埠號。

返回:
表示本地埠號值的 int 值。

getFileDescriptor

protected FileDescriptor getFileDescriptor()
獲取資料電報Socket檔案描述符。

返回:
表示資料電報Socket檔案描述符的 FileDescriptor 物件。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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