Socket与ServerSocket类构造方法与API
Socket类
概述:
socket可以使一个应用从网络中读取和写入数据,不同计算机上的两个应用可以通过连接发送和接受字节流,当发送消息时,你需要知道对方的ip和端口,在java中,socket指的是java.net.Socket类。
构造方法:
ServerSocket() | 创建一个绑定服务器套接字 |
ServerSocket(int port) | 创建一个服务器套接字,绑定到指定的端口 |
ServerSocket(int port, int backlog) | 创建一个服务器套接字,并将其绑定到指定的本地端口号,并使用指定的积压 |
ServerSocket(int port, int backlog, InetAddress bindAddr) | 用指定的端口创建一个服务器,听积压,和本地IP地址绑定 |
API:
Socket accept() | 监听要对这个套接字作出的连接并接受它 |
void bind(SocketAddress endpoint) | ServerSocket绑定到一个特定的地址(IP地址和端口号) |
void bind(SocketAddress endpoint, int backlog) | ServerSocket绑定到一个特定的地址(IP地址和端口号) |
void close() | 关闭这个套接字。 |
ServerSocketChannel getChannel() | 返回与此套接字关联的独特的 ServerSocketChannel对象,如果任何 |
InetAddress getInetAddress() | 返回此服务器套接字的本地地址 |
int getLocalPort() | 返回此套接字正在侦听的端口号 |
SocketAddress getLocalSocketAddress() | 返回此套接字绑定到的端点的地址 |
int getReceiveBufferSize() | 得到这个 ServerSocket的 SO_RCVBUF期权的价值,即该缓冲区的大小,将用于接受来自这 ServerSocket插座 |
boolean getReuseAddress() | 如果 SO_REUSEADDR启用 |
int getSoTimeout() | 检索设置 SO_TIMEOUT |
protected void implAccept(Socket s) | 子类使用此方法重载ServerSocket()返回自己的子类的插座 |
boolean isBound() | 返回的ServerSocket绑定状态 |
boolean isClosed() | 返回的ServerSocket关闭状态 |
void setPerformancePreferences(int connectionTime, int latency, int bandwidth) | 设置此ServerSocket性能偏好 |
void setReceiveBufferSize(int size) | 设置一个默认值为提出接受这 ServerSocket插座 SO_RCVBUF选项 |
void setReuseAddress(boolean on) | 启用/禁用 SO_REUSEADDR套接字选项 |
static void setSocketFactory(SocketImplFactory fac) | 设置服务器套接字实现工厂为应用程序。 |
void setSoTimeout(int timeout) | 启用/禁用 SO_TIMEOUT以指定的超时时间,以毫秒为单位 |
String toString() | 返回此套接字作为 String实现的地址与端口 |
ServerSocket类
概述:
Socket类代表一个客户端套接字,即任何时候连接到一个远程服务器应用时构建所需的socket。现在,要实现一个服务器应用,需要不同的做法。服务器需随时待命,因为不知道客户端什么时候会发来请求,此时,我们需要使用ServerSocket,对应的是java.net.ServerSocket类。
ServerSocket与Socket不同,ServerSocket是等待客户端的请求,一旦获得一个连接请求,就创建一个Socket示例来与客户端进行通信。
构造方法:
Socket() | 创建一个连接的套接字,与socketimpl系统默认的类型。 |
Socket(InetAddress address, int port) | 创建一个流套接字,并将其与指定的IP地址中的指定端口号连接起来。 |
Socket(InetAddress host, int port, boolean stream) | 过时的。 使用UDP传输DatagramSocket。 |
Socket(InetAddress address, int port, InetAddress localAddr, int localPort) | 创建一个套接字,并将其与指定的远程端口上的指定的远程地址连接起来。 |
Socket(Proxy proxy) | 创建一个连接的套接字类型,指定代理,如果有,应该使用无论任何其他设置。 |
protected Socket(SocketImpl impl) | 创建一个用户指定的socketimpl连接插座。 |
Socket(String host, int port) | 创建一个流套接字,并将其与指定的主机上的指定端口号连接起来。 |
Socket(String host, int port, boolean stream) | 过时的。 使用UDP传输DatagramSocket。 |
Socket(String host, int port, InetAddress localAddr, int localPort) | 创建一个套接字,并将其连接到指定的远程端口上的指定的远程主机上 |
API:
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() | 返回此套接字绑定到的端点的地址。 |
boolean getOOBInline() | 如果 SO_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() | 获取从这个套接字发送的数据包的IP头中的业务类或服务类型 |
boolean isBound() | 返回套接字的绑定状态。 |
boolean isClosed() | 返回套接字的关闭状态。 |
boolean isConnected() | 返回套接字的连接状态。 |
boolean isInputShutdown() | 返回套接字连接的读半是否关闭。 |
boolean isOutputShutdown() | 返回套接字连接的写是否关闭的是否关闭。 |
void sendUrgentData(int data) | 在套接字上发送一个字节的紧急数据。 |
void setKeepAlive(boolean on) | 启用/禁用 SO_KEEPALIVE。 |
void setOOBInline(boolean on) | 启用/禁用 SO_OOBINLINE(TCP紧急数据收据)默认情况下,此选项是禁用TCP套接字上接收紧急数据是默默丢弃。 |
void setPerformancePreferences(int connectionTime, int latency, int bandwidth) | 设置此套接字的性能首选项。 |
void setReceiveBufferSize(int size) | 集 SO_RCVBUF选项,这 Socket指定值。 |
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) | 集交通类或从该套接字发送数据包的IP报头字节型服务。 |
void shutdownInput() | 将此套接字的输入流放在“流结束”中。 |
void shutdownOutput() | 禁用此套接字的输出流。 |
String toString() | 将这一 String插座 |
到此这篇关于Socket与ServerSocket类构造方法与API的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
Java SpringBoot 使用拦截器作为权限控制的实现方法
这篇文章主要介绍了Java SpringBoot 使用拦截器作为权限控制的实现,文中通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-10-10SpringBoot @Transactional事务不生效排查方式
这篇文章主要介绍了SpringBoot @Transactional事务不生效排查方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-01-01Spring Boot中的 6 种API请求参数读取方式示例详解
使用Spring Boot开发API的时候,读取请求参数是服务端编码中最基本的一项操作,Spring Boot中也提供了多种机制来满足不同的API设计要求,这篇文章主要介绍了Spring Boot中的 6 种API请求参数读取方式示例详解,需要的朋友可以参考下2024-05-05
最新评论