java.lang.Object java.net.Socket
-
直接已知子类:
- SSLSocket
-
public class Socket
extends Object
此类实现客户端套接字(也可以就叫“套接字”)。套接字是两台机器间通信的端点。
套接字的实际工作由 SocketImpl
类的实例执行。应用程序通过更改创建套接字实现的套接字工厂可以配置它自身,以创建适合本地防火墙的套接字。
-
从以下版本开始:
- JDK1.0 另请参见:
-
setSocketImplFactory(java.net.SocketImplFactory)
,SocketImpl
,SocketChannel
方法摘要 | |
---|---|
void |
bind(SocketAddress bindpoint) 将套接字绑定到本地地址。 |
void |
close() 关闭此套接字。 |
void |
connect(SocketAddress endpoint) 将此套接字连接到服务器。 |
void |
connect(SocketAddress endpoint,int timeout) 将此套接字连接到服务器,并指定一个超时值。 |
SocketChannel |
getChannel() 返回与此数据报套接字关联的唯一 SocketChannel 对象(如果有)。 |
InetAddress |
getInetAddress() 返回套接字连接的地址。 |
InputStream |
getInputStream() 返回此套接字的输入流。 |
boolean |
getKeepAlive() 测试是否启用SO_KEEPALIVE。 |
InetAddress |
getLocalAddress() 获取套接字绑定的本地地址。 |
int |
getLocalPort() 返回此套接字绑定到的本地端口。 |
SocketAddress |
getLocalSocketAddress() 返回此套接字绑定的端点的地址,如果尚未绑定则返回 null 。 |
boolean |
getOOBInline() 测试是否启用OOBINLINE。 |
OutputStream |
getOutputStream() 返回此套接字的输出流。 |
int |
getPort() 返回此套接字连接到的远程端口。 |
int |
getReceiveBufferSize() 获取此Socket 的 SO_RCVBUF 选项的值,该值是平台在 Socket上输入时使用的缓冲区大小。 |
SocketAddress |
getRemoteSocketAddress() 返回此套接字连接的端点的地址,如果未连接则返回 null 。 |
boolean |
getReuseAddress() 测试是否启用SO_REUSEADDR。 |
int |
getSendBufferSize() 获取此Socket 的 SO_SNDBUF 选项的值,该值是平台在 Socket上输出时使用的缓冲区大小。 |
int |
getSoLinger() 返回SO_LINGER 的设置。 |
int |
getSoTimeout() 返回SO_TIMEOUT 的设置。 |
boolean |
getTcpNoDelay() 测试是否启用TCP_NODELAY。 |
int |
getTrafficClass() 为从此Socket 上发送的包获取 IP 头中的流量类别或服务类型。 |
boolean |
isBound() 返回套接字的绑定状态。 |
boolean |
isClosed() 返回套接字的关闭状态。 |
boolean |
isConnected() 返回套接字的连接状态。 |
boolean |
isInputShutdown() 返回是否关闭套接字连接的半读状态(read-half)。 |
boolean |
isOutputShutdown() 返回是否关闭套接字连接的半写状态(write-half)。 |
void |
sendUrgentData(int data) 在套接字上发送一个紧急数据字节。 |
void |
setKeepAlive(boolean on) 启用/禁用SO_KEEPALIVE。 |
void |
setOOBInline(boolean on) 启用/禁用OOBINLINE(TCP 紧急数据的接收者) 默认情况下,此选项是禁用的,即在套接字上接收的 TCP 紧急数据被静默丢弃。 |
void |
setPerformancePreferences(int connectionTime,int latency,int bandwidth) 设置此套接字的性能偏好。 |
void |
setReceiveBufferSize(int size) 将此Socket 的 SO_RCVBUF 选项设置为指定的值。 |
void |
setReuseAddress(boolean on) 启用/禁用SO_REUSEADDR 套接字选项。 |
void |
setSendBufferSize(int size) 将此Socket 的 SO_SNDBUF 选项设置为指定的值。 |
static void |
setSocketImplFactory(SocketImplFactory fac) 为应用程序设置客户端套接字实现工厂。 |
void |
setSoLinger(boolean on,int linger) 启用/禁用具有指定逗留时间(以秒为单位)的SO_LINGER。 |
void |
setSoTimeout(int timeout) 启用/禁用带有指定超时值的SO_TIMEOUT,以毫秒为单位。 |
void |
setTcpNoDelay(boolean on) 启用/禁用TCP_NODELAY(启用/禁用 Nagle 算法)。 |
void |
setTrafficClass(int tc) 为从此Socket 上发送的包在 IP 头中设置流量类别 (traffic class) 或服务类型八位组 (type-of-serviceoctet)。 |
void |
shutdownInput() 此套接字的输入流置于“流的末尾”。 |
void |
shutdownOutput() 禁用此套接字的输出流。 |
String |
toString() 将此套接字转换为 String 。 |