Most visited

Recently visited

Added in API level 1

SocketImpl

public abstract class SocketImpl
extends Object implements SocketOptions

java.lang.Object
   ↳ java.net.SocketImpl


抽象类SocketImpl是实际实现套接字的所有类的常见超类。 它用于创建客户端和服务器套接字。

一个“普通”套接字完全按照描述来实现这些方法,而不尝试通过防火墙或代理。

Summary

Inherited constants

From interface java.net.SocketOptions

Fields

protected InetAddress address

此套接字的远程端的IP地址。

protected FileDescriptor fd

此套接字的文件描述符对象。

protected int localport

此套接字连接到的本地端口号。

protected int port

此套接字连接到的远程主机上的端口号。

Public constructors

SocketImpl()

Public methods

String toString()

String返回此套接字的地址和端口。

Protected methods

abstract void accept(SocketImpl s)

接受连接。

abstract int available()

返回可以不受阻塞地从此套接字读取的字节数。

abstract void bind(InetAddress host, int port)

将此套接字绑定到指定的本地IP地址和端口号。

abstract void close()

关闭此插座。

abstract void connect(InetAddress address, int port)

将此套接字连接到指定主机上的指定端口号。

abstract void connect(SocketAddress address, int timeout)

将此套接字连接到指定主机上的指定端口号。

abstract void connect(String host, int port)

将此套接字连接到指定主机上的指定端口。

abstract void create(boolean stream)

创建流或数据报套接字。

FileDescriptor getFileDescriptor()

返回此套接字的 fd字段的值。

InetAddress getInetAddress()

返回此套接字的 address字段的值。

abstract InputStream getInputStream()

返回此套接字的输入流。

int getLocalPort()

返回此套接字的 localport字段的值。

abstract OutputStream getOutputStream()

返回此套接字的输出流。

int getPort()

返回此套接字的 port字段的值。

abstract void listen(int backlog)

将传入连接指示(连接请求)的最大队列长度设置为 count参数。

abstract void sendUrgentData(int data)

在套接字上发送一个字节的紧急数据。

void setPerformancePreferences(int connectionTime, int latency, int bandwidth)

为此套接字设置性能首选项。

void shutdownInput()

将此套接字的输入流置于“流尾”。

void shutdownOutput()

禁用此套接字的输出流。

boolean supportsUrgentData()

返回此SocketImpl是否支持发送紧急数据。

Inherited methods

From class java.lang.Object
From interface java.net.SocketOptions

Fields

address

Added in API level 1
InetAddress address

此套接字的远程端的IP地址。

fd

Added in API level 1
FileDescriptor fd

此套接字的文件描述符对象。

localport

Added in API level 1
int localport

此套接字连接到的本地端口号。

port

Added in API level 1
int port

此套接字连接到的远程主机上的端口号。

Public constructors

SocketImpl

Added in API level 1
SocketImpl ()

Public methods

toString

Added in API level 1
String toString ()

String返回此套接字的地址和端口。

Returns
String a string representation of this socket.

Protected methods

accept

Added in API level 1
void accept (SocketImpl s)

接受连接。

Parameters
s SocketImpl: the accepted connection.
Throws
IOException if an I/O error occurs when accepting the connection.

available

Added in API level 1
int available ()

返回可以不受阻塞地从此套接字读取的字节数。

Returns
int the number of bytes that can be read from this socket without blocking.
Throws
IOException if an I/O error occurs when determining the number of bytes available.

bind

Added in API level 1
void bind (InetAddress host, 
                int port)

将此套接字绑定到指定的本地IP地址和端口号。

Parameters
host InetAddress: an IP address that belongs to a local interface.
port int: the port number.
Throws
IOException if an I/O error occurs when binding this socket.

close

Added in API level 1
void close ()

关闭此插座。

Throws
IOException if an I/O error occurs when closing this socket.

connect

Added in API level 1
void connect (InetAddress address, 
                int port)

将此套接字连接到指定主机上的指定端口号。

Parameters
address InetAddress: the IP address of the remote host.
port int: the port number.
Throws
IOException if an I/O error occurs when attempting a connection.

connect

Added in API level 1
void connect (SocketAddress address, 
                int timeout)

将此套接字连接到指定主机上的指定端口号。 超时为零被解释为无限超时。 连接将阻塞直到建立或发生错误。

Parameters
address SocketAddress: the Socket address of the remote host.
timeout int: the timeout value, in milliseconds, or zero for no timeout.
Throws
IOException if an I/O error occurs when attempting a connection.

connect

Added in API level 1
void connect (String host, 
                int port)

将此套接字连接到指定主机上的指定端口。

Parameters
host String: the name of the remote host.
port int: the port number.
Throws
IOException if an I/O error occurs when connecting to the remote host.

create

Added in API level 1
void create (boolean stream)

创建流或数据报套接字。

Parameters
stream boolean: if true, create a stream socket; otherwise, create a datagram socket.
Throws
IOException if an I/O error occurs while creating the socket.

getFileDescriptor

Added in API level 1
FileDescriptor getFileDescriptor ()

返回此套接字的 fd字段的值。

Returns
FileDescriptor the value of this socket's fd field.

也可以看看:

getInetAddress

Added in API level 1
InetAddress getInetAddress ()

返回此套接字的 address字段的值。

Returns
InetAddress the value of this socket's address field.

也可以看看:

getInputStream

Added in API level 1
InputStream getInputStream ()

返回此套接字的输入流。

Returns
InputStream a stream for reading from this socket.
Throws
IOException if an I/O error occurs when creating the input stream.

getLocalPort

Added in API level 1
int getLocalPort ()

返回此套接字的 localport字段的值。

Returns
int the value of this socket's localport field.

也可以看看:

getOutputStream

Added in API level 1
OutputStream getOutputStream ()

返回此套接字的输出流。

Returns
OutputStream an output stream for writing to this socket.
Throws
IOException if an I/O error occurs when creating the output stream.

getPort

Added in API level 1
int getPort ()

返回此套接字的 port字段的值。

Returns
int the value of this socket's port field.

也可以看看:

listen

Added in API level 1
void listen (int backlog)

将传入连接指示(连接请求)的最大队列长度设置为count参数。 如果连接指示在队列满时到达,连接将被拒绝。

Parameters
backlog int: the maximum length of the queue.
Throws
IOException if an I/O error occurs when creating the queue.

sendUrgentData

Added in API level 1
void sendUrgentData (int data)

在套接字上发送一个字节的紧急数据。 要发送的字节是参数的低八位

Parameters
data int: The byte of data to send
Throws
IOException if there is an error sending the data.

setPerformancePreferences

Added in API level 1
void setPerformancePreferences (int connectionTime, 
                int latency, 
                int bandwidth)

为此套接字设置性能首选项。

套接字默认使用TCP / IP协议。 某些实现可能提供具有与TCP / IP不同的性能特征的替代协议。 该方法允许应用程序表达自己的偏好,以便在实现从可用协议中选择时如何进行这些折衷。

性能首选项由三个整数描述,其值表示短连接时间,低延迟和高带宽的相对重要性。 整数的绝对值是无关紧要的; 为了选择一个协议,简单地比较这些值,较大的值表示较强的偏好。 负值表示比正值低的优先级。 例如,如果应用程序比低延迟和高带宽更喜欢短连接时间,则可以使用值(1, 0, 0)来调用此方法。 如果应用程序偏好高带宽高于低延迟,并且低延迟高于短连接时间,则可以使用值(0, 1, 2)调用此方法。 默认情况下,这个方法什么都不做,除非它在子类中被覆盖。

Parameters
connectionTime int: An int expressing the relative importance of a short connection time
latency int: An int expressing the relative importance of low latency
bandwidth int: An int expressing the relative importance of high bandwidth

shutdownInput

Added in API level 1
void shutdownInput ()

将此套接字的输入流置于“流尾”。 发送到此套接字的任何数据都会被确认,然后以静默方式丢弃。 如果您在套接字上调用shutdownInput()之后从套接字输入流读取,则该流将返回EOF。

Throws
IOException if an I/O error occurs when shutting down this socket.

也可以看看:

shutdownOutput

Added in API level 1
void shutdownOutput ()

禁用此套接字的输出流。 对于TCP套接字,任何先前写入的数据将在TCP的正常连接终止序列后发送。 如果在套接字上调用shutdownOutput()之后写入套接字输出流,则该流将抛出IOException。

Throws
IOException if an I/O error occurs when shutting down this socket.

也可以看看:

supportsUrgentData

Added in API level 1
boolean supportsUrgentData ()

返回此SocketImpl是否支持发送紧急数据。 默认情况下,除非方法在子类中被重写,否则返回false

Returns
boolean true if urgent data supported

也可以看看:

Hooray!