Java Socket 类

2025年3月24日 | 阅读 6 分钟

Socket 类充当两台机器之间通信的端点。它实现了客户端套接字。

方法

方法描述
bind(SocketAddress bindpoint)此方法将给定的套接字绑定到指定的本地地址。
close()此方法关闭套接字。
connect(SocketAddress endpoint)
connect(SocketAddress endpoint, int timeout)
connect() 方法将此套接字连接到服务器。
此方法以指定的超时值将此套接字连接到服务器。
getChannel()它返回与此套接字关联的唯一 SocketChannel 对象。
getInetAddress()它返回套接字连接到的地址。
getInputStream()它返回指定套接字的输入流。
getKeepAlive()此方法测试 SO_KEEPALIVE 选项是否已启用。
getLocalAddress()它返回给定套接字所绑定的本地地址。
getLocalPort()它获取指定套接字所绑定的本地端口号。
getLocalSocketAddress()此方法获取此套接字所绑定的端点的地址。
getOOBInline()此方法测试 SO_OOBINLINE 选项是否已启用。
getOutputStream()此方法返回指定套接字的输出流。
getPort()此方法返回套接字连接到的远程端口号。
getReceiveBufferSize()它返回此 Socket 的 SO_RCVBUF 选项的值。
getRemoteSocketAddress()此方法返回此套接字连接到的端点的地址,如果套接字未连接,则返回 null。
getReuseAddress()它测试 SO_REUSEADDR 选项是否已启用。
getSendBufferSize()此方法获取此 Socket 的 SO_SNDBUF 选项的值。
getSoLinger()此方法返回 SO_LINGER 选项的设置。
getSoTimeout()如果 SO_TIMEOUT 选项已启用,则返回其设置;否则,如果选项已禁用,则返回 0。
getTcpNoDelay()此方法测试 TCP_NODELAY 选项是否已启用。
getTrafficClass()此方法返回从此 Socket 发送的 IP 数据包的流量类别或服务类型。
isBound()它返回此套接字的绑定状态。
isClosed()此方法返回此套接字的关闭状态。
isConnected()此方法返回套接字的连接状态。
isInputShutdown()它返回套接字连接的读取部分是否已关闭。
isOutputShutdown()它返回套接字连接的写入部分是否已关闭。
sendUrgentData(int data)此方法将一个紧急数据字节发送到套接字。
setKeepAlive(boolean on)此方法为此套接字启用或禁用 SO_KEEPALIVE 选项。
setOOBInline(boolean on)此方法为此套接字启用或禁用 SO_OOBINLINE 选项。
setReceiveBufferSize(int size)此方法将此 Socket 的 SO_RCVBUF 选项设置为指定值。
setReuseAddress(boolean on)此方法为此套接字启用或禁用 SO_REUSEADDR 套接字选项。
setSendBufferSize(int size)此方法将此 Socket 的 SO_SNDBUF 选项设置为指定值。
setSoLinger(boolean on, int linger)它以指定的秒为单位启用或禁用 SO_LINGER 选项。
setSoTimeout(int timeout)此方法以指定的毫秒数启用或禁用 SO_TIMEOUT 选项。
setTcpNoDelay(boolean on)此方法为此套接字启用或禁用 TCP_NODELAY 选项。
setTrafficClass(int tc)它返回从此 Socket 发送的 IP 数据包的流量类别或服务类型字节。
shutdownInput()此方法将此套接字的输入流置于流的末尾。
shutdownOutput()此方法禁用此套接字的输出流。
toString()此方法将此套接字转换为 String。

示例 1

输出

Send Buffer size: 67
SO_KEEPALIVE option is disabled
Remote socket address: localhost/127.0.0.1:1085

示例 2

输出

Send Buffer size: 90
Timeout value: 90
SO_TIMEOUT option is enabled: true
SO_KEEPALIVE is enabled: true
Local socket address: /127.0.0.1:1085

示例 3

输出

Inet address: localhost/127.0.0.1
Buffer size: 10
SO_REUSEADDR option is enabled: true
The socket is closed: true
Socket[addr=localhost/127.0.0.1,port=1085,localport=1085]

示例 4

输出

The socket is connected: true
The socket is binded: true
Local Port: 1085
Output Stream: java.io.DataOutputStream@1540e19d
下一主题Java Socket 类