随笔分类 - 网络编程
摘要:参考资料: 了解 Java NIO 的 Reactor 模型,大神 Doug Lea 的 PPT Scalable IO in Java 必看: 示例代码: ,socket module A. 单线程版 Reactor 相当于一个中央事件收集分发器。一方面,Reactor 通过 Selector 可
阅读全文
摘要:示例代码: ,socket module A. LineSeparate 基于 Buffer 实现逐行读取的 EchoServer 比传统 Socket 编程困难,相当于需要自己通过 Buffer 实现 BufferedReader 的 readLine 功能。 代码如下,假设单行不超过256字节,
阅读全文
摘要:参考资料: 老外写的教程,很适合入门: 上面教程的译文: 示例代码: ,socket module A. 摘要 因为有现成的教程,本文只做摘要。 NIO 有三宝,channel、buffer、selector Channel 与 Stream 很相似,除了: Channel 同时支持读操作与写操作,
阅读全文
摘要:示例代码: ,socket module A. Socket 编程简单例子 最简单的 Socket 编程是通过回车/换行符,整行读取字符串。网上代码随便抄抄便是。 gordon.study.socket.basic.LineSeparateEchoServer.java 代码略 B. 简单的自定义协
阅读全文
摘要:参考资料: 示例代码: ,socket module A. CLOSE_WAIT 有时会出现服务器响应极慢、假死的现象,查看 netstat 会发现服务器上存在大量未关闭的 CLOSE_WAIT 状态连接。我们分析下原因。 首先,CLOSE_WAIT 是被动关闭方才会出现的状态。我们模拟一个场景,客
阅读全文
摘要:参考资料: http://www.jellythink.com/archives/705 示例代码: https://github.com/gordonklg/study,socket module A. TCP 四次挥手 下图描述了 TCP 整个生命周期从建立连接到断开连接的逻辑: 下面的测试代码
阅读全文
摘要:参考资料: https://huoding.com/2013/11/21/299 https://hpbn.co/building-blocks-of-tcp/#three-way-handshake 示例代码: https://github.com/gordonklg/study,socket m
阅读全文
摘要:A. A轮目标 复习网络编程基础知识,重点学习下TCP三次握手四次挥手,以及可能引发的异常情况。 回顾 Socket 编程,好多年没写(chao)过相关代码了。 重学 NIO,以前学的基本忘光了,毕竟从来没在项目中用过。 学习 Netty,了解基本用法,写一个简单项目练手。 扫读 Netty 核心源
阅读全文