`
szgaea
  • 浏览: 217839 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

犯了一个傻子错误

阅读更多
  这两天在写一个NIO的操作实例,写完测试,客户端发送一个数据到服务端,服务端进行读取,测试的时候发现服务器读取数据以后,一直还在尝试读,而且没有读到任何东西,我觉得这个太奇怪了,才了很多资料都没有找到相应的内容,通过两天的测试,最后发现,原来我的客户端的通道没有执行关闭的动作,而是直接退出了应用,服务端则一直没有收到这个通道流结束的标志,所以一直在尝试读取,但一直取不到数据,则通道也不会结束。希望这个对有碰到我这种情况的“代友”一点小提示。


http://www.meilijiankang.com有你所想,有你所要!
分享到:
评论
5 楼 szgaea 2009-06-19  
今天又进行了测试,是由于客户端关闭,但是这个通道在服务端并没有结束,则下次进行select的时候,还会读取到key,真正执行读数据操作的时候会异常,解决的办法是,catch异常,执行key的cancel操作。



美丽健康网http://www.meilijiankang.com
4 楼 Saito 2009-06-18  
  类似于狗嘴里有跟骨头。 你硬要从它嘴里拿出来。

  其结果可想而知。

 

  我猜想的。。 =v=
3 楼 szgaea 2009-06-18  
测试又发现,如果我在服务端channel注册了一个key,即使在循环里面进行了移除,但并没有做实际的操作,服务端一直对这个key进行处理,看似并没有做移除操作,好奇怪,这是什么原理呀?
2 楼 fjlyxx 2009-06-18  
异常的处理和 长短连接的选择。。最好设置下超时时间  服务端在N秒内没有读取到数据直接关闭。
1 楼 Saito 2009-06-18  
  Code Complete II 上看到的。 

  代码都是成对出现的。 写open()。 。不管open之后是啥。 先写个close()占住位置再说。。

相关推荐

    C++傻瓜教程.

    "C++傻瓜教程"旨在为初学者提供一个简单易懂的学习路径,帮助他们快速掌握C++的基础知识。 C++是C语言的扩展,引入了面向对象编程的概念,包括类、对象、封装、继承和多态等特性。学习C++首先要理解基本的语法结构...

    一个非常好用的截图工具,傻瓜式

    标题中的“一个非常好用的截图工具,傻瓜式”指的是这款软件设计简洁,操作简便,适合各个技术层次的用户使用,尤其是对电脑操作不太熟悉的初学者。它可能具有直观的界面,无需复杂的设置或学习过程,只需简单的点击...

    一个期货傻瓜交易系统博易大师指标公式源码信管家指标博易大师期货软件指标.doc

    一个期货傻瓜交易系统博易大师指标公式源码信管家指标博易大师期货软件指标.doc

    傻瓜式flash制作

    标题中的“傻瓜式flash制作”意味着我们要讨论的是一个简易的、面向初学者的Flash动画制作工具或教程。这类工具通常设计得非常直观易用,让没有编程或设计背景的人也能快速上手创建简单的Flash动画。 描述部分重复...

    Http傻瓜服务器v1[1].0 完整注册版

    【Http傻瓜服务器】是一个简易的HTTP服务器软件,主要用于个人或小型团队的本地开发和测试环境,便于在不复杂的网络环境中快速搭建一个Web服务。该软件的标题"Http傻瓜服务器v1[1].0 完整注册版"表明这是其第一个...

    C#简单串口调试助手傻瓜教程

    本教程是针对C#初学者的一个傻瓜式教程,所谓傻瓜式教程即一步一步教你怎么操作,手把手的教,保证每个C#学者都能掌握,哪怕你是一年级小娃娃,只要能看得懂中国字,哪怕是不动脑筋也会把这个小项目搞出来。...

    PHP傻瓜安装程序

    这个程序旨在提供一个快速、简便的方法来在个人计算机或服务器上部署PHP环境,通常包括PHP、Apache web服务器和其他必要的组件,如MySQL数据库和PHP扩展。 PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本...

    很好用的傻瓜签名设计软件

    它不仅为那些寻求职业形象提升的用户提供了一个良好的解决方案,更为那些在日常生活中追求个性化表达的人们带来了便利。这款软件的出现,使得每个人都能轻松拥有一个独一无二的艺术签名,为数字时代的个性化展示提供...

    oracle傻瓜1000问

    而"Oracle错误码大全"则是一个非常实用的参考工具。Oracle数据库在运行过程中,如果遇到问题,会返回特定的错误代码。这个大全很可能包含了从00000到99999的大部分Oracle错误码,每个错误码后面都会附带详细的错误...

    php运行环境傻瓜安装包

    FastCGI提供了一个稳定的环境,可以处理多个并发请求,而ISAPI则是一种更传统的扩展方式。 3. 必要的配置文件:如php.ini,用于设置PHP的运行参数,如内存限制、错误报告级别、扩展启用等。 4. 默认的PHP扩展:如...

    NEC傻瓜入门手册

    - 设置工作区:选择一个合适的目录作为项目的存储位置。 - 配置编辑器:根据个人喜好调整字体大小、颜色主题等设置。 - 安装扩展插件:NEC支持多种插件来增强功能,如代码高亮、自动补全等。 #### 三、基础语法...

    Word错误修复工具

    Word错误修复工具,有时候,Word会莫名其妙地发生错误,不断地恢复、重启,还得在安全模式下才能打开,把Word卸载了,还是问题依旧,好烦,...好吧,编一款傻瓜级工具,只要点一下是,Word就如华佗再生,恢复正常了。

    傻子工具箱(Visual Basic)

    "傻子工具箱"显然是一个利用Visual Basic开发的系统维护工具,虽然仍在开发中,但它的目标是提供给用户一个便捷的方式来处理常见的系统问题。 系统工具通常包括一系列功能,如磁盘清理、注册表清理、系统优化、进程...

    asp傻瓜教材书,很详细的一部著作

    ASP(Active Server Pages)是微软开发的一种服务器端...对于初学者来说,"ASP傻瓜教材书"是一个很好的起点,因为它以简单易懂的方式介绍了ASP的基础知识,并可能包含许多实用示例和练习,以加深理解并提升实践能力。

    pandownload118错误:user is not authorized.rar

    下面将详细介绍如何通过Aria2解决这个问题,并提供一个简单易懂的“傻瓜版教程”。 1. **Aria2介绍** Aria2是一款开源、免费、轻量级的下载管理器,支持HTTP(S)、FTP、SFTP、BT和Metalink等多种协议。它具备多源、...

    一个小的很实用的商业网站,适合傻瓜式建站

    【标题】:“一个小的很实用的商业网站,适合傻瓜式建站” 这个标题揭示了我们正在处理一个设计简洁、易于使用的商业网站模板,特别适合那些没有太多编程基础的用户。"傻瓜式建站"意味着它可能包含了直观的用户界面...

    Code::blocks傻瓜安装包

    标题“Code::blocks傻瓜安装包”暗示这是一个简单易用的安装程序,适合那些不熟悉复杂配置步骤的用户。 1. **开源与免费**: Code::Blocks是根据GNU General Public License(GPL)发布的,这意味着源代码可供所有人...

    一个傻瓜式的商务管理软件

    一个傻瓜式的商务管理软件,可以帮助小企业及个体老板管理好自己进货、销售、库存的方方面面,使经营者对利润、费用一目了然。 内容介绍:业务的适应性:将各行业业务抽象为六大类(日常进销业务、库存业务、现金...

    HTTP傻瓜服务器.

    在这个场景中,"HTTP傻瓜服务器.rar"可能是一个包含了可执行文件("HTTP傻瓜服务器.exe")的压缩包,用于在Windows操作系统上运行此类服务器。 HTTP是互联网上应用最广泛的一种网络协议,全称为超文本传输协议。它...

    Mixly软件,傻瓜式编程

    Mixly的核心特点是其图形化编程界面,它基于Blockly项目,这是一个由Google开发的开源项目,旨在通过积木块的方式实现编程概念的可视化。用户可以通过拖拽不同功能的代码块,拼接成完整的程序,这种方式避免了初学者...

Global site tag (gtag.js) - Google Analytics