`
jimmee
  • 浏览: 549100 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Selectors使用时注意事项

    博客分类:
  • J2SE
阅读更多
1.ServerSocketChannel和SocketChannel必须配置成非阻塞的;
2.每次轮询后,得到SelectionKey后,必须从选择集里remove掉
Iterator<SelectionKey> keys = selector.selectedKeys().iterator();
while (keys.hasNext()) {
       SelectionKey key = keys.next();
        keys.remove();
       //...其他处理
}

3.如果在客户端也配置了Selector,如:
SocketChannel sc = SocketChannel.open();
			Selector selector = Selector.open();
			sc.configureBlocking(false);
			sc.connect(new InetSocketAddress("localhost", 7777));
			sc.register(selector, SelectionKey.OP_CONNECT);

在建立连接时,需要调用finishConnect方法,如:
Iterator<SelectionKey> keys = selector.selectedKeys()
						.iterator();
				while (keys.hasNext()) {
					SelectionKey key = keys.next();
					keys.remove();
					
					if (key.isConnectable()) {
						SocketChannel socketChannel = (SocketChannel) key.channel();
						
						// Finish the connection. If the connection operation failed
						// this will raise an IOException.
						try {
							socketChannel.finishConnect();
						} catch (IOException e) {
							// Cancel the channel's registration with our selector
							System.out.println(e);
							return;
						}
						System.out.println("Connected...");
						key.interestOps(SelectionKey.OP_READ);
					} 
}
分享到:
评论
1 楼 稻-草 2010-10-27  

相关推荐

    ActiveMQ的selectors.docx

    **注意事项**: - 生产者必须知道当前运行中的消费者,这意味着生产者与消费者之间存在一定的耦合性。 - 如果某个消费者失效,该消费者原本负责的消息将积压在Broker上,直到有新的消费者接管为止。 #### 五、代码...

    juery学习,代码中有相关的注意事项,节省我们自学的时间

    1. **选择器(Selectors)**:jQuery 的核心功能之一是高效的选择DOM元素。例如,`$("#id")` 用于选择ID为"id"的元素,`$(".class")` 用于选择所有类名为"class"的元素,而 `$("tagname")` 则选择特定的标签名。 2....

    jQuery 1.2.x 升級 1.3.x 注意事项

    ### jQuery 1.2.x 升级到 1.3.x 的注意事项 #### 一、简介 随着技术的发展,前端库也需要不断更新以适应新的需求和技术标准。jQuery 是一款非常流行的 JavaScript 库,用于简化 HTML 文档遍历、事件处理、动画以及...

    使用scrapy爬取全国所有城市的天气信息

    9. **注意事项** 网络爬虫需遵守网站的robots.txt协议,并尊重网站的版权。在抓取大量数据时,要注意不要对网站造成过大负担,以免被封IP。 总结,本项目涉及的主要知识点包括:Scrapy框架的使用、HTTP请求与响应...

    纯CSS3实现的情人节恋爱表情动画特效源码.zip

    "使用须知.txt"文件通常包含了对源码的介绍、使用步骤、注意事项、版权信息等内容,对于使用者来说非常重要,需要首先阅读。而"132689875184626551"看起来像是一个无扩展名的文件,可能是HTML、CSS或图片文件,它...

    NIO处理大文件

    虽然NIO提供了强大的性能优化,但它的API相对复杂,使用时需要注意内存管理,合理设置缓冲区大小,以及正确处理异常。 总之,NIO是Java处理大文件的一个强大工具,通过非阻塞I/O、通道、缓冲区和选择器,能够提高...

    纯CSS3圆形图片鼠标滑过背景视觉差动画特效源码.zip

    在压缩包内的"使用须知.txt"文件可能包含了如何在项目中引入和使用这些源码的指导,以及任何特别的注意事项。而"132687013741249328"可能是一个源码文件的名称,可能是CSS文件或者HTML文件,具体用途需要打开文件...

    jQuery响应快速易于使用的Tabs选项卡特效源码.zip

    在压缩包中的"使用须知.txt"可能包含了如何引入jQuery库、使用代码示例以及可能的注意事项。132686926884381139可能是源代码文件或数据文件,可能包含CSS、JavaScript和HTML文件,这些文件共同协作实现了选项卡的...

    纯CSS3实现的城市公路上开车动画效果源码.zip

    - **使用须知.txt**:这个文件可能包含了使用源码的说明、版权信息、注意事项等内容,阅读它以确保正确使用和尊重原作者的劳动成果。 132689966831386175可能是时间戳或者一个随机数字,它可能与源码的创建日期或者...

    jQuery+CSS3实现带弹性动画效果的工具栏菜单特效源码.zip

    通常,这样的文本文件会提供重要的注意事项,如版权信息、兼容性提示和可能的限制。 而 "132686935042661398" 这个文件名可能是HTML、CSS或JavaScript代码文件,或者是一个包含所有这些文件的目录。如果是HTML,它...

    纯CSS3实现网页背景音乐动画代码.zip

    - "使用须知.txt":这个文件通常会包含使用压缩包内资源的指导和注意事项,比如版权信息、代码的使用授权、如何运行示例代码等。 - "132692137998606968":这是一个看起来随机的文件名,可能是HTML文件、CSS文件或者...

    jQuery实现的电子商务网站首页幻灯片效果源码.zip

    同时,`使用须知.txt`文件通常会提供源码的使用指南和注意事项,例如如何引入jQuery库,如何自定义幻灯片配置,或者如何解决兼容性问题。 为了实际应用这个源码,你需要: 1. **引入jQuery库**:确保网页中已经...

    基于jQuery实现的动态弹性多级下拉菜单效果.zip

    使用须知.txt文件可能会提供关于如何运行或应用这些代码的说明,包括可能的依赖项、兼容性提示以及使用注意事项。 总的来说,理解并掌握上述jQuery特性是创建动态弹性多级下拉菜单的基础,同时,结合实际项目中的...

    iOS 4 Programming Cookbook

    - 调用重载方法时的注意事项。 - **应用场景**:当需要对不同类型的输入提供相同的操作时非常有用。 6. **1.4 Defining and Accessing Properties(定义和访问属性)** - **知识点**: - 属性的基础概念; - ...

    jQuery实现的键盘响应式气球爆炸动画特效源码.zip

    建议仔细阅读此文本文件以获取更多具体操作步骤和注意事项。 最后,压缩包内的另一个文件“132692082145167664”可能是源代码文件,可能是.js格式,包含了所有上述提到的功能实现。通过查看和学习这个源代码,我们...

    jquery(代码全中文注释).rar

    它可能包含了对使用这个中文注释版jQuery的注意事项,比如版权信息、使用限制、兼容性问题、更新日志或者开发者在使用过程中需要注意的常见问题和最佳实践。 学习jQuery,首先需要理解其核心理念——"Write Less, ...

    纯CSS3实现幻灯片焦点图特效源码 v1.0

    4. `说明.txt`:可能包含简短的说明或者注意事项,例如版权信息、版本历史等。 5. `css`:这是一个文件夹,包含了所有相关的CSS样式文件,如全局样式表、幻灯片样式等。 6. `images`:这个文件夹可能存储了幻灯片...

    jquery 最新版框架下载(1.32-1.11.1-3.2.1).zip

    这个文件名看起来像是一个随机生成的数字,可能是一个日志文件或包含使用jQuery时的特定指导或注意事项。在实际应用中,这样的文件通常会包含关于如何使用特定版本的jQuery、可能的已知问题、更新日志或开发者指南等...

    关于Java方面的面试题目

    - 序列化:如何实现序列化,以及反序列化的注意事项。 4. **多线程** - 线程的创建方式:Thread类和Runnable接口的使用。 - 线程同步:synchronized关键字、wait()、notify()和notifyAll()的使用,以及死锁的...

    简单英文外贸博客专题模板-简单 英文 外贸 博客 专题 html5.rar

    用户可以通过阅读这个文件了解如何使用这个模板,包括可能的配置、注意事项以及任何依赖项。 2. 简单英文外贸博客专题模板_简单 英文 外贸 博客 专题 html5:这很可能是模板的主文件夹,包含了HTML、CSS、JavaScript...

Global site tag (gtag.js) - Google Analytics