这篇文章主要介绍“Socket与ServerSocket类构造方法有哪些”,在日常操作中,相信很多人在Socket与ServerSocket类构造方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Socket与ServerSocket类构造方法有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
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类构造方法有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!