新聞中心
SocketImpl

創(chuàng)新互聯(lián)公司主營博湖網站建設的網絡公司,主營網站建設方案,成都APP應用開發(fā),博湖h5小程序制作搭建,博湖網站營銷推廣歡迎博湖等地區(qū)企業(yè)咨詢
java.lang.Object
|---java.net.SocketImpl
public abstract class SocketImpl
extends Object
implements SocketOptions抽象類 SocketImpl 是所有實際實現(xiàn)套接字的類的公共超類。 它用于創(chuàng)建客戶端和服務器套接字。
“普通”套接字完全按照描述實現(xiàn)這些方法,而不試圖通過防火墻或代理。
字段摘要
| 修飾符和類型 | 字段 | 描述 |
|---|---|---|
| protected InetAddress | address | 此套接字的遠程端的 IP 地址。 |
| protected FileDescriptor | fd | 此套接字的文件描述符對象。 |
| protected int | localport | 此套接字連接到的本地端口號。 |
| protected int | port | 此套接字連接到的遠程主機上的端口號。 |
| 從接口 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() | 返回可以不阻塞地從此套接字讀取的字節(jié)數。 |
| protected abstract void | bind(InetAddress host, int port) | 將此套接字綁定到指定的本地 IP 地址和端口號。 |
| protected abstract void | close() | 關閉此套接字。 |
| protected abstract void | connect(String host, int port) | 將此套接字連接到指定主機上的指定端口。 |
| protected abstract void | connect(InetAddress address, int port) | 將此套接字連接到指定主機上的指定端口號。 |
| protected abstract void | connect(SocketAddress address, int timeout) | 將此套接字連接到指定主機上的指定端口號。 |
| protected abstract void | create(boolean stream) | 創(chuàng)建流或數據報套接字。 |
| protected FileDescriptor | getFileDescriptor() | 返回此套接字的 fd 字段的值。 |
| protected InetAddress | getInetAddress() | 返回此套接字的地址字段的值。 |
| protected abstract InputStream | getInputStream() | 返回此套接字的輸入流。 |
| protected int | getLocalPort() | 返回此套接字的 localport 字段的值。 |
| protected abstract OutputStream | getOutputStream() | 返回此套接字的輸出流。 |
| protected int | getPort() | 返回此套接字的端口字段的值。 |
| protected abstract void | listen(int backlog) | 將傳入連接指示(連接請求)的最大隊列長度設置為 count 參數。 |
| protected abstract void | sendUrgentData(int data) | 在套接字上發(fā)送一個字節(jié)的緊急數據。 |
| protected void | setPerformancePreferences(int connectionTime, int latency, int bandwidth) | 設置此套接字的性能首選項。 |
| protected void | shutdownInput() | 將此套接字的輸入流放在“流的末尾”。 |
| protected void | shutdownOutput() | 禁用此套接字的輸出流。 |
| protected boolean | supportsUrgentData() | 返回此 SocketImpl 是否支持發(fā)送緊急數據。 |
| String | toString() | 將此套接字的地址和端口作為字符串返回。 |
| 從類 java.lang.Object 繼承的方法 |
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| 從接口 java.net.SocketOptions 繼承的方法 |
|---|
| getOption, setOption |
字段詳細信息
address
protected InetAddress address
此套接字的遠程端的 IP 地址。
fd
protected FileDescriptor fd
此套接字的文件描述符對象。
localport
protected int localport
此套接字連接到的本地端口號。
port
protected int port
此套接字連接到的遠程主機上的端口號。
構造函數詳細信息
SocketImpl
public SocketImpl()
方法詳情
create
protected abstract void create(boolean stream) throws IOException
創(chuàng)建流或數據報套接字。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| stream | 如果為true,則創(chuàng)建一個流套接字; 否則,創(chuàng)建一個數據報套接字。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果在創(chuàng)建套接字時發(fā)生 I/O 錯誤。 |
connect
protected abstract void connect(String host, int port) throws IOException
將此套接字連接到指定主機上的指定端口。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| host | 遠程主機的名稱。 |
| port | 端口號。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果連接到遠程主機時發(fā)生 I/O 錯誤。 |
connect
protected abstract void connect(InetAddress address, int port) throws IOException
將此套接字連接到指定主機上的指定端口號。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| address | 遠程主機的 IP 地址。 |
| port | 端口號。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果嘗試連接時發(fā)生 I/O 錯誤。 |
connect
protected abstract void connect(SocketAddress address, int timeout) throws IOException
將此套接字連接到指定主機上的指定端口號。 超時為零被解釋為無限超時。 然后連接將阻塞,直到建立或發(fā)生錯誤。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| address | 遠程主機的 Socket 地址。 |
| timeout | 超時值,以毫秒為單位,或者為零表示沒有超時。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果嘗試連接時發(fā)生 I/O 錯誤。 |
bind
protected abstract void bind(InetAddress host, int port) throws IOException
將此套接字綁定到指定的本地 IP 地址和端口號。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| host | 屬于本地接口的 IP 地址。 |
| port | 端口號。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果綁定此套接字時發(fā)生 I/O 錯誤。 |
listen
protected abstract void listen(int backlog) throws IOException
將傳入連接指示(連接請求)的最大隊列長度設置為 count 參數。 如果隊列已滿時連接指示到達,則拒絕連接。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| backlog | 隊列的最大長度。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果在創(chuàng)建隊列時發(fā)生 I/O 錯誤。 |
accept
protected abstract void accept(SocketImpl s) throws IOException
接受連接。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| s | 接受的連接。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果在接受連接時發(fā)生 I/O 錯誤。 |
getInputStream
protected abstract InputStream getInputStream() throws IOException
返回此套接字的輸入流。
返回:
用于從此套接字讀取的流。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果在創(chuàng)建輸入流時發(fā)生 I/O 錯誤。 |
getOutputStream
protected abstract OutputStream getOutputStream() throws IOException
返回此套接字的輸出流。
返回:
用于寫入此套接字的輸出流。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果在創(chuàng)建輸出流時發(fā)生 I/O 錯誤。 |
available
protected abstract int available() throws IOException
返回可以不阻塞地從此套接字讀取的字節(jié)數。
返回:
可以不阻塞地從此套接字讀取的字節(jié)數。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果在確定可用字節(jié)數時發(fā)生 I/O 錯誤。 |
close
protected abstract void close() throws IOException
關閉此套接字。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果關閉此套接字時發(fā)生 I/O 錯誤。 |
shutdownInput
protected void shutdownInput() throws IOException
將此套接字的輸入流放在“流的末尾”。 發(fā)送到此套接字的任何數據都會得到確認,然后被靜默丟棄。 如果在套接字上調用此方法后從套接字輸入流中讀取,則流的可用方法將返回 0,其讀取方法將返回 -1(流結束)。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果關閉此套接字時發(fā)生 I/O 錯誤。 |
shutdownOutput
protected void shutdownOutput() throws IOException
禁用此套接字的輸出流。 對于 TCP 套接字,任何先前寫入的數據都將按照 TCP 的正常連接終止順序發(fā)送。 如果在套接字上調用 shutdownOutput() 后寫入套接字輸出流,則該流將引發(fā) IOException。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果關閉此套接字時發(fā)生 I/O 錯誤。 |
getFileDescriptor
protected FileDescriptor getFileDescriptor()
返回此套接字的 fd 字段的值。
返回:
此套接字的 fd 字段的值。
getInetAddress
protected InetAddress getInetAddress()
返回此套接字的地址字段的值。
返回:
此套接字的地址字段的值。
getPort
protected int getPort()
返回此套接字的端口字段的值。
返回:
此套接字的端口字段的值。
supportsUrgentData
protected boolean supportsUrgentData()
返回此 SocketImpl 是否支持發(fā)送緊急數據。 默認情況下,除非在子類中重寫該方法,否則返回 false
返回:
如果支持緊急數據,則為true
sendUrgentData
protected abstract void sendUrgentData(int data) throws IOException
在套接字上發(fā)送一個字節(jié)的緊急數據。 要發(fā)送的字節(jié)是參數的低八位
參數:
| 參數名稱 | 參數描述 |
|---|---|
| data | 要發(fā)送的數據字節(jié) |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果發(fā)送數據時出錯。 |
getLocalPort
protected int getLocalPort()
返回此套接字的 localport 字段的值。
返回:
此套接字的 localport 字段的值。
toString
public String toString()
將此套接字的地址和端口作為字符串返回。
覆蓋:
類 Object 中的 toString
返回:
此套接字的字符串表示形式。
setPerformancePreferences
protected void setPerformancePreferences(int connectionTime, int latency, int bandwidth)
設置此套接字的性能首選項。
套接字默認使用 TCP/IP 協(xié)議。一些實現(xiàn)可能會提供與 TCP/IP 具有不同性能特征的替代協(xié)議。此方法允許應用程序表達自己的偏好,即當實現(xiàn)從可用協(xié)議中進行選擇時應如何進行這些權衡。
性能偏好由三個整數描述,其值表示短連接時間、低延遲和高帶寬的相對重要性。整數的絕對值無關緊要;為了選擇一個協(xié)議,這些值被簡單地比較,較大的值表示更強的偏好。負值表示比正值低的優(yōu)先級。例如,如果應用程序更喜歡短連接時間而不是低延遲和高帶寬,那么它可以使用值 (1, 0, 0) 調用此方法。如果應用程序更喜歡高帶寬而不是低延遲,以及低延遲而不是短連接時間,那么它可以使用值 (0, 1, 2) 調用此方法。默認情況下,此方法什么也不做,除非它在子類中被覆蓋。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| connectionTime | 表示短連接時間的相對重要性的 int |
| latency | 一個表示低延遲相對重要性的 int |
| bandwidth | 表示高帶寬相對重要性的 int |
網站標題:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS SocketImpl
分享鏈接:http://fisionsoft.com.cn/article/cdjehjj.html


咨詢
建站咨詢
