类名
ServerSocket
所属包
java.net.ServerSocket
所有被实现的接口
Cloneable,AutoCloeable
直接父类
SSLServerSocket
类声明
public class ServerSocket extends Object implements Cloneable
类概述
这个类是用来实现服务端Socket的。
一个ServerSocket将会等待来自于网络的请求,当它收到请求后将会针对这些请求做出一些处理,然后给请求者返回处理的结果。
服务端Socket的实际工作由SocketImpl类的实例对象来进行。应用程序可以改变Socket工厂An application can change the socket factory that creates the socket implementation to configure itself to create sockets appropriate to the local firewall.
起始版本
JDK1.0
构造函数列表
ServerSocket()
这个函数将会创建一个未绑定的服务端Socket对象。
ServerSocket(int port)
这个函数将会创建一个绑定指定端口的服务端Socket对象。
ServerSocket(int port, int backlog)
这个函数将会创建一个绑定指定端口号和指定backlog数的服务端Socket对象。
PS:backlog是什么?
管理客户连接请求的任务是由操作系统来完成的。操作系统把这些连接请求存储在一个先进先出的队列中。许多操作系统限定了队列的最大长度,一般为50。当队列中的连接请求达到了队列的最大容量时,服务器进程所在的主机会拒绝新的连接请求。只有当服务器进程通过ServerSocket的accept()方法从队列中取出连接请求,使队列腾出空位时,队列才能继续加入新的连接请求。
对于客户进程,如果它发出的连接请求被加入到服务器的队列中,就意味着客户与服务器的连接建立成功,客户进程从Socket构造方法中正常返回。如果客户进程发出的连接请求被服务器拒绝,Socket构造方法就会抛出ConnectionException。
ServerSocket(int poet, int backlog, InetAddress bindAddr)
这个函数将会创建一个拥有指定端口、指定IP地址和指定backlog数的ServerSocket对象。
所有函数列表
Socket accept ()
这个函数将会监听是否有客户端想要连接这个ServerSocket对象,若有的话就接收它。
void bind(SocketAddress endpoint)
这个函数将会把一个指定的IP地址和端口号绑定到这个ServerSocket对象上。
void bind(SocketAddress endpoint, int backlog)
这个函数将会把一个指定的IP和端口号绑定到这个ServerSocket对象上,与此同时,还将backlog数绑定到这个ServerSocket对象上。
void close()
这个函数将会关闭当前的这个Socket连接。
ServerSocketChannel getChannel()
返回一个唯一的与当前Socket关联的ServerSocketChannel对象,如果有的话。
InetAddress getInetAddress()
返回服务端Socket的IP地址。
int getLocalPort()
返回当前Socket用来对外监听的端口号。
int getReceiveBufferSize()
获得当前ServerSocket对象的SO_RCVBUF选项的值,这个值表示用来接收客户端Socket对象时会用到的缓冲区大小的建议值。
SocketAddress getLocalSocketAddress()
返回当前Socket绑定的端点的地址。
boolean getReuseAddress()
这个函数将会测试SO_REUSEADDR这个值是否可用。
int getSoTimeout()
返回SO_TIMEOUT这个字段的值。
boolean isBound()
返回当前ServerSocket对象的绑定状态
boolean isClosed()
判断当前ServerSocket是否被关闭了。
void setPerformancePreferences(int connectionTime, int latecy, int bandwidth)
为这个ServerSocket对象设置性能偏好。
void setReceiveBufferSize(int size)
设置当前ServerSocket对象中SO_RECBUF字段的默认期望值,这个值是服务端Socket接收客户端Socket时候的缓冲区的大小。
static void setSocketFactory(SocketImplFactory fac)
为程序设置服务端Socket的实现工厂。
void setSoTimeout(int timeout)
设置当前ServerSocket对象的SO_TIMEOUT字段的值,这个字段是连接超时时间,单位是毫秒。
String toString()
获取ServerSocket的IP、端口号。
to be continue……
每个函数的详细说明会陆续推出……
Java常用类的翻译也将陆续推出……
JDK8中文文档由“毕设帮”翻译——“毕业设计在线求助平台”