- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TCPIPNIO编程
TCP/IP+NIO
服务器端:
1 ServerSocketChannel.open();
打开ServerSocketChannel,从而获得ServerSocketChannel实例对象。
ServerSocketChannel
针对面向流的侦听套接字的可选择通道服务器套接字通道不是侦听网络套接字的完整抽象。必须通过调用 socket 方法所获得的关联 ServerSocket 对象来完成对套接字选项的绑定和操作。不可能为任意的已有服务器套接字创建通道,也不可能指定与服务器套接字通道关联的服务器套接字所使用的 SocketImpl 对象。
通过调用此类的 open 方法创建服务器套接字通道。新创建的服务器套接字通道已打开,但尚未绑定。试图调用未绑定的服务器套接字通道的 accept 方法会导致抛出 NotYetBoundException。可通过调用相关服务器套接字的某个 bind 方法来绑定服务器套接字通道。public abstract ServerSocket socket()
获取与此通道关联的服务器套接字。public static ServerSocketChannel open()
throws IOException
打开服务器套接字通道。
通过调用系统级默认 SelectorProvider 对象的 openServerSocketChannel 方法来创建新的通道。
新通道的套接字最初是未绑定的;可以接受连接之前,必须通过它的某个套接字的 bind 方法将其绑定到具体的地址。返回:
新的套接字通道
public abstract SocketChannel accept()
throws IOException
接受到此通道套接字的连接。
如果此通道处于非阻塞模式,那么在不存在挂起的连接时,此方法将直接返回 null。否则,在新的连接可用或者发生 I/O 错误之前会无限期地阻塞它。
不管此通道的阻塞模式如何,此方法返回的套接字通道(如果有)将处于阻塞模式。
此方法执行的安全检查与 ServerSocket 类的 accept 方法执行的安全检查完全相同。也就是说,如果已安装了安全管理器,则对于每个新的连接,此方法都会验证安全管理器的 checkAccept 方法是否允许使用该连接的远程端点的地址和端口号。
返回:
用于新连接的套接字通道,或者如果此通道处于非阻塞模式并且没有要接受的可用连接,则返回 null
ServerSocketChannel. configureBlocking(false);
将Channel设置为非阻塞模式。
public final SelectableChannel
configureBlocking(boolean?block) throws IOException
调整此通道的阻塞模式。参数:
block - 如果为 true,则此通道将被置于阻塞模式;如果为 false,则此通道将被置于非阻塞模式
ServerSocketChannel. Socket();
获得ServerSocket对象,从而进行监听端口等的设置。
4 ServerSocket.bind(port);
制定服务器端监听的端口。
public void bind(SocketAddress?endpoint)
throws IOException
将 ServerSocket 绑定到特定地址(IP 地址和端口号)。
如果地址为 null,则系统将挑选一个临时端口和一个有效本地地址来绑定套接字。
参数:
endpoint - 要绑定的 IP 地址和端口号。
Selector.open();
打开Selector,从而获得Selector实例对象。
类 Selector可通过调用此类的 open 方法创建选择器,该方法将使用系统的默认选择器提供者创建新的选择器。也可通过调用自定义选择器提供者的 openSelector 方法来创建选择器。通过选择器的 close 方法关闭选择器之前,它一直保持打开状态。通过 SelectionKey 对象来表示可选择通道到选择器的注册。public static Selector open()
throws IOException
打开一个选择器。
通过调用系统级默认 SelectorProvider 对象的 openSelector 方法来创建新的选择器。
返回:
新的选择器
ServerSocketChannel.register(Sel
您可能关注的文档
- 2014-2015高一第二学期英语第一次测试.doc
- 亿唐网的衰败.docx
- 雅虎企业介绍.doc
- 【英语辩论】期末资料收集.docx
- 成人学士学位英语.doc
- 雅虎惨案 16年败掉1000亿美金市值.docx
- 史上最全REACH法规解释.doc
- 出国常用日常英语词汇及对话.docx
- 电子商务第二次案例分析报告_Google.docx
- 全球再保险公司排名2011.doc
- 25上半年2期套题班-行政职业能力测验(八).docx
- 公考讲义-2025年1月时政汇总.pdf
- 2025年省考逻辑填空1000 高频实词积累+刷题早读课 讲义.pdf
- 25上半年2期套题班-行政职业能力测验(九).docx
- 2025四川事业编FB综合岗考试-综合能力测试讲义-主观题基础,案例分析题,公文写作及文章写作题.pdf
- 25上半年2期套题班-行政职业能力测验(五).docx
- 2025申论多省联考刷题课真题资料-2025国考执法课程.doc
- 2025申论多省联考刷题课真题资料-2024江西执法课程.doc
- 25上半年2期套题班-行政职业能力测验(十).docx
- 2025申论多省联考刷题课真题资料-2024福建县乡课程.doc
文档评论(0)