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 。 |