前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JDK8中文文档——ServerSocket

JDK8中文文档——ServerSocket

作者头像
大闲人柴毛毛
发布2018-03-09 11:39:50
2.6K0
发布2018-03-09 11:39:50
举报
文章被收录于专栏:大闲人柴毛毛

类名

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中文文档由“毕设帮”翻译——“毕业设计在线求助平台”

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015年11月25日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档