事件处理

Netty5 Read事件处理过程_源码讲解

≡放荡痞女 提交于 2019-11-29 15:29:23
欢迎大家关注我的微博 http://weibo.com/hotbain 会将发布的开源项目技术贴通过微博通知大家,希望大家能够互勉共进!谢谢!也很希望能够得到大家对我博文的反馈,写出更高质量的文章!! Netty是对Nio的一个封装,关于网络的所有操作都是通过事件的方式完成的。例如连接创建、read事件、write事件都是通过Nio来完成 的。那netty是怎么启动监听的呢? 在什么地方启动的呢?此处不为大家设置悬念,一次性告诉大家。通过循环扫描的方式来实现监听的。具体的方法类位于NioEventLoop的run方法中 (赶紧进去看看吧!! 浅显易懂)。 下面是netty的acceptor线程创建连接的代码。位于类NioEventLoop的processSelectedKey中(至于 processSelectedKey是怎么被调用的,自己看看调用链就行了(eclipse用ctrl+Shift+H就可以查看到选中方法的调用 链))。 private static void processSelectedKey(SelectionKey k, AbstractNioChannel ch) { final NioUnsafe unsafe = ch.unsafe(); if (!k.isValid()) { // close the channel if the key is not

06. react 初次见面---事件处理

限于喜欢 提交于 2019-11-29 06:49:14
React 元素的事件处理和 DOM元素的很相似。但是有一点语法上的不同: React事件绑定属性的命名采用 驼峰式 写法,而不是小写。 如果采用 JSX 的语法你需要传入一个函数作为事件处理函数,而不是一个字符串(DOM元素的写法) 例如,传统的 HTML: <button onclick="activateLasers()"> Activate Lasers </button> React 中稍稍有点不同: <button onClick={activateLasers}> Activate Lasers </button> 在 React 中另一个不同是你不能使用返回 false 的方式 阻止默认行为 。你必须明确的使用 preventDefault 。例如,传统的 HTML 中阻止链接默认打开一个新页面,你可以这样写: <a href="#" onclick="console.log('The link was clicked.'); return false"> Click me </a> 在 React,应该这样来写: function ActionLink() { function handleClick(e) { e.preventDefault(); console.log('The link was clicked.'); } return ( <a href=