|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.net.SocketImpl
public abstract class SocketImpl
抽象類別 SocketImpl
是實際實作Socket的全部類別的通用父級類別。創建客戶端和伺服器Socket都可以使用它。
“普通”Socket嚴格按描述實作這些方法,無需嘗試通過防火牆或代理。
欄位摘要 | |
---|---|
protected InetAddress |
address
此Socket的遠端端點的 IP 位址。 |
protected FileDescriptor |
fd
此Socket的檔案描述符物件。 |
protected int |
localport
此Socket連接到的本地埠號號。 |
protected int |
port
此Socket連接到的遠端主機的埠號號。 |
從介面 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 |
建構子摘要 | |
---|---|
SocketImpl()
|
方法摘要 | |
---|---|
protected abstract void |
accept(SocketImpl s)
接受連接。 |
protected abstract int |
available()
返回可以不受阻塞地從此Socket中讀取的位元組數。 |
protected abstract void |
bind(InetAddress host,
int port)
將此Socket綁定到指定的本地 IP 位址和埠號號。 |
protected abstract void |
close()
關閉此Socket。 |
protected abstract void |
connect(InetAddress address,
int port)
將此Socket連接到指定主機上的指定埠號號。 |
protected abstract void |
connect(SocketAddress address,
int timeout)
將此Socket連接到指定主機上的指定埠號號。 |
protected abstract void |
connect(String host,
int port)
將此Socket連接到指定主機上的指定埠號。 |
protected abstract void |
create(boolean stream)
創建一個串流或資料電報Socket。 |
protected FileDescriptor |
getFileDescriptor()
返回此Socket的 fd 欄位的值。 |
protected InetAddress |
getInetAddress()
返回此Socket的 address 欄位的值。 |
protected abstract InputStream |
getInputStream()
返回此Socket的輸入串流。 |
protected int |
getLocalPort()
返回此Socket的 localport 欄位的值。 |
protected abstract OutputStream |
getOutputStream()
返回此Socket的輸出串流。 |
protected int |
getPort()
返回此Socket的 port 欄位的值。 |
protected abstract void |
listen(int backlog)
將傳入連接指示(連接請求)的最大佇列長度設置為 count 參數。 |
protected abstract void |
sendUrgentData(int data)
在Socket上發送一個緊急資料位元組。 |
protected void |
setPerformancePreferences(int connectionTime,
int latency,
int bandwidth)
設置此Socket的性能偏好 (performance preferences)。 |
protected void |
shutdownInput()
將此Socket的輸入串流置於“串流的末尾”。 |
protected void |
shutdownOutput()
禁用此Socket的輸出串流。 |
protected boolean |
supportsUrgentData()
返回此 SocketImpl 是否支持發送緊急資料。 |
String |
toString()
以 String 的形式返回此Socket的位址和埠號。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
從介面 java.net.SocketOptions 繼承的方法 |
---|
getOption, setOption |
欄位詳細資訊 |
---|
protected FileDescriptor fd
protected InetAddress address
protected int port
protected int localport
建構子詳細資訊 |
---|
public SocketImpl()
方法詳細資訊 |
---|
protected abstract void create(boolean stream) throws IOException
stream
- 如果為 true
,則創建串流Socket;否則創建資料電報Socket。
IOException
- 如果創建Socket時發生 I/O 錯誤。protected abstract void connect(String host, int port) throws IOException
host
- 遠端主機名。port
- 埠號號。
IOException
- 如果連接到遠端主機時發生 I/O 錯誤。protected abstract void connect(InetAddress address, int port) throws IOException
address
- 遠端主機的 IP 位址。port
- 埠號號。
IOException
- 如果嘗試連接時發生 I/O 錯誤。protected abstract void connect(SocketAddress address, int timeout) throws IOException
address
- 遠端主機的 Socket 位址。timeout
- 以毫秒為單位的逾時值;或者為零,表示沒有逾時值。
IOException
- 如果嘗試連接時發生 I/O 錯誤。protected abstract void bind(InetAddress host, int port) throws IOException
host
- 屬於本地介面的 IP 位址。port
- 埠號號。
IOException
- 如果綁定此Socket時發生 I/O 錯誤。protected abstract void listen(int backlog) throws IOException
count
參數。如果佇列滿時收到連接指示,則拒絕該連接。
backlog
- 佇列的最大長度。
IOException
- 如果創建佇列時發生 I/O 錯誤。protected abstract void accept(SocketImpl s) throws IOException
s
- 接受的連接。
IOException
- 如果接受連接時發生 I/O 錯誤。protected abstract InputStream getInputStream() throws IOException
IOException
- 如果創建輸入串流時發生 I/O 錯誤。protected abstract OutputStream getOutputStream() throws IOException
IOException
- 如果創建輸出串流時發生 I/O 錯誤。protected abstract int available() throws IOException
IOException
- 如果確定可用位元組數時發生 I/O 錯誤。protected abstract void close() throws IOException
IOException
- 如果關閉此Socket時發生 I/O 錯誤。protected void shutdownInput() throws IOException
IOException
- 如果關閉此Socket時發生 I/O 錯誤。Socket.shutdownOutput()
,
Socket.close()
,
Socket.setSoLinger(boolean, int)
protected void shutdownOutput() throws IOException
IOException
- 如果關閉此Socket時發生 I/O 錯誤。Socket.shutdownInput()
,
Socket.close()
,
Socket.setSoLinger(boolean, int)
protected FileDescriptor getFileDescriptor()
fd
欄位的值。
fd
欄位的值。fd
protected InetAddress getInetAddress()
address
欄位的值。
address
欄位的值。address
protected int getPort()
port
欄位的值。
port
欄位的值。port
protected boolean supportsUrgentData()
address
protected abstract void sendUrgentData(int data) throws IOException
data
- 要發送的資料的位元組
IOException
- 如果在發送資料時發生錯誤。protected int getLocalPort()
localport
欄位的值。
localport
欄位的值。localport
public String toString()
String
的形式返回此Socket的位址和埠號。
Object
中的 toString
protected void setPerformancePreferences(int connectionTime, int latency, int bandwidth)
預設情況下Socket使用 TCP/IP 協議。有些實作可能提供與 TCP/IP 具有不同性能特徵的替換協議。此方法允許應用程序在實作從可用協議中作出選擇時表達它自己關於應該如何進行折衷的偏好。
性能偏好由三個整數描述,它們的值分別指示短連接時間、低延遲和高帶寬的相對重要性。這些整數的絕對值沒有意義;為了選擇協議,需要簡單比較它們的值,較大的值指示更強的偏好。負值表示的優先級低於正值。例如,如果應用程序相對於低延遲和高帶寬更偏好短連接時間,則其可以使用值 (1, 0, 0) 調用此方法。如果應用程序相對於低延遲更偏好高帶寬,而相對於短連接時間更偏好低延遲,則其可以使用值 (0, 1, 2) 調用此方法。 預設情況下此方法不執行任何操作,除非在子類別中覆寫該方法。
connectionTime
- 表達短連接時間的相對重要性的 intlatency
- 表達低延遲的相對重要性的 intbandwidth
- 表達高帶寬的相對重要性的 int
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。