public abstract class SocketImpl
extends Object
implements SocketOptions
java.lang.Object | |
↳ | java.net.SocketImpl |
抽象类SocketImpl
是实际实现套接字的所有类的常见超类。 它用于创建客户端和服务器套接字。
一个“普通”套接字完全按照描述来实现这些方法,而不尝试通过防火墙或代理。
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() 以 |
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() 返回此套接字的 |
InetAddress |
getInetAddress() 返回此套接字的 |
abstract InputStream |
getInputStream() 返回此套接字的输入流。 |
int |
getLocalPort() 返回此套接字的 |
abstract OutputStream |
getOutputStream() 返回此套接字的输出流。 |
int |
getPort() 返回此套接字的 |
abstract void |
listen(int backlog) 将传入连接指示(连接请求)的最大队列长度设置为 |
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
|
String toString ()
以 String
返回此套接字的地址和端口。
Returns | |
---|---|
String |
a string representation of this socket. |
void accept (SocketImpl s)
接受连接。
Parameters | |
---|---|
s |
SocketImpl : the accepted connection. |
Throws | |
---|---|
IOException |
if an I/O error occurs when accepting the connection. |
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. |
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. |
void close ()
关闭此插座。
Throws | |
---|---|
IOException |
if an I/O error occurs when closing this socket. |
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. |
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. |
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. |
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. |
FileDescriptor getFileDescriptor ()
返回此套接字的 fd
字段的值。
Returns | |
---|---|
FileDescriptor |
the value of this socket's fd field. |
也可以看看:
InetAddress getInetAddress ()
返回此套接字的 address
字段的值。
Returns | |
---|---|
InetAddress |
the value of this socket's address field. |
也可以看看:
InputStream getInputStream ()
返回此套接字的输入流。
Returns | |
---|---|
InputStream |
a stream for reading from this socket. |
Throws | |
---|---|
IOException |
if an I/O error occurs when creating the input stream. |
int getLocalPort ()
返回此套接字的 localport
字段的值。
Returns | |
---|---|
int |
the value of this socket's localport field. |
也可以看看:
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. |
int getPort ()
返回此套接字的 port
字段的值。
Returns | |
---|---|
int |
the value of this socket's port field. |
也可以看看:
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. |
void sendUrgentData (int data)
在套接字上发送一个字节的紧急数据。 要发送的字节是参数的低八位
Parameters | |
---|---|
data |
int : The byte of data to send |
Throws | |
---|---|
IOException |
if there is an error sending the data. |
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 |
void shutdownInput ()
将此套接字的输入流置于“流尾”。 发送到此套接字的任何数据都会被确认,然后以静默方式丢弃。 如果您在套接字上调用shutdownInput()之后从套接字输入流读取,则该流将返回EOF。
Throws | |
---|---|
IOException |
if an I/O error occurs when shutting down this socket. |
void shutdownOutput ()
禁用此套接字的输出流。 对于TCP套接字,任何先前写入的数据将在TCP的正常连接终止序列后发送。 如果在套接字上调用shutdownOutput()之后写入套接字输出流,则该流将抛出IOException。
Throws | |
---|---|
IOException |
if an I/O error occurs when shutting down this socket. |
boolean supportsUrgentData ()
返回此SocketImpl是否支持发送紧急数据。 默认情况下,除非方法在子类中被重写,否则返回false
Returns | |
---|---|
boolean |
true if urgent data supported |
也可以看看: