要想实现类似的功能需要用到jdk1.4中新增的nio包。
去看这方面的文档吧。
大概要用到这几个类:
java.nio.channels.ServerSocketChannel
java.nio.channels.SocketChannel
java.nio.channels.SelectionKey
去看这方面的文档吧。
大概要用到这几个类:
java.nio.channels.ServerSocketChannel
java.nio.channels.SocketChannel
java.nio.channels.SelectionKey
解决方案 »
- 发现一个奇怪的JAVA程序,请帮忙看看
- 为什么JFrame不能装AWT组件!!
- 新手求教
- 我想把一个字符串中有英文输入的''改为中文输入法的‘’,如何修改,请大家帮帮忙!
- 昨天讨论起JAVA,怎么觉得JAVA除了JSP,另外没有什么任何优势了.
- tomcat下配置jsp,求高手指教!
- Double.parseDouble(String str)的问题!?急!
- 高分求教关于String的问题!
- 怎样从java流中直接读取zip文件内容?
- 找了一个“TXT在线阅读小说系统”的小项目做,遇到了一个问题。想不明白,请大家帮忙解决一下。
- $$$ 美国公司高薪聘请 ORACLE + JAVA 程序经理和 开发者
- ████ 我用JCreator来运行这段程序,为什么总是有错误呢? █████
哪里有这些相关文档呀??能不能告知相关网址??Thank you..
哪里有这些相关文档呀??能不能告知相关网址??Thank you..
若想判断它的状态,有方法的!
那岂不要专门开一个线程来判断???
我是希望能够利用事件来触发这些动作,而不是不断地查询socket的状态,得到状态后再去执行相应的函数,你明白我的意思吗?我想java的socket功能这么强大,这方面的功能应该不会少吧??
具体如何实现,能否说说??
http://www-900.ibm.com/developerWorks/cn/java/j-javaio/index.shtml详细可以参考O'Reilly出版的,《java nio》
好的,我去看看,谢谢~~to xxlcg(☆突突☆):
如何把线程做成一个事件接收器呢?是不是在线程中不断的查询socket的状态,如果发现状态有变,则执行相应的事件触发函数呢??谢谢~~
有一个很好的例子呀,还有注释的
这么说来,还是要另外开一个类来实现这个事件接收器了??
说了半天,还是要用老办法,看来只有这样了,晚上再没什么好办法就结贴了,谢谢各位~~
不行的话,可以用一个线程定时遍历所有的SocketChannel,向对端写一个空的ByteBuffer。
ByteBuffer b=ByteBuffer.allocate(1);
b.flip();
channelSocket.write(b);这样做实际上什么都没写,如果有Exception,就是对端已经close了。