接触nio也有好几年了,最开始摸不着头脑,资料很少,网上的资料都是翻来覆去的抄袭,基本上对于自己的学习没有大帮助。
后来遇到了xsocket,觉得用起来还可以,挺方便,api也很简洁。不过这个库的用户不多,后来作者也停止了开发。
然后就是mina netty,这些不用说,了解nio的人都知道它们。不过想用好它们也不是那么容易。里面有各种回调,各种future,当你在处理网络事件...
分类:
其他好文 时间:
2015-06-22 22:24:32
阅读次数:
292
用Netty解析Redis网络协议根据Redis官方文档的介绍,学习了一下Redis网络通信协议。然后偶然在GitHub上发现了个用Netty实现的Redis服务器,很有趣,于是就动手实现了一下!1.RESP协议Redis的客户端与服务端采用一种叫做 RESP(REdis Serialization Protocol)的网络通信协议交换数据。RESP的设计权衡了实现简单、解析快速、人类可读这三个因素...
分类:
Web程序 时间:
2015-06-19 23:08:24
阅读次数:
717
1 RPCRPC也采用C/S的编程模式,以模块调用的简单性忽略通讯的具体细节,以便程序员不用关心C/S之间的通讯协议,集中精力对付实现过程.这就决定了 RPC生成的通讯包不可能对每种应用都有最恰当的处理办法,与Socket方法相比,传输相同的有效数据,RPC占用更多的网络带宽.RPC实在socket...
分类:
Web程序 时间:
2015-06-18 21:57:21
阅读次数:
200
maven项目https://github.com/solq360/common链式编/解码链路层链式处理管道管理socket多协议处理非常方便仿netty NioEventLoop 单线程串行处理========侍加功能 :自动化编/解码rpc 接口增强使用简单聊天例子serverTestNioS...
分类:
编程语言 时间:
2015-06-18 15:10:21
阅读次数:
193
首先啰嗦2。假如你不知道Netty怎么办怎么办。它可以是一个简单的搜索,找出。我只能说Netty是NIO该框架,它可用于开发分布式Java计划。详细情况可以做,我们可以尝试用你的想象力。技术。它是服务于人,而不是人活的局限性。经万事具备,那么我们先从一段代码開始。程序猿们习惯的上手第一步,自然是"H...
分类:
编程语言 时间:
2015-06-16 14:39:28
阅读次数:
184
在eclipse使用maven deploy (tomcat:deploy) 热部署netty项目 ,项目启动的时候会报错端口被占用。Java代码java.net.BindException:Addressalreadyinuseatsun.nio.ch.Net.bind0(NativeMethod...
分类:
Web程序 时间:
2015-06-14 22:43:59
阅读次数:
334
将近快一年时间没有更新Netty的博客。一方面原因是因为项目进度的问题。另外一方面是博主有一段时间去熟悉Unity3D引擎。 本章节主要记录博主自己Netty的UDP协议使用。 1. 构建UDP服务端 首先我们应该清楚UDP协议是一种无连接状态的协议。所以Netty框架区别于一般...
分类:
Web程序 时间:
2015-06-10 22:20:56
阅读次数:
621
内容:利用Netty实现的一个服务器和客户端交互,理解过程曲折心酸:传送门。
服务端:
public class EchoServer {
private final int port;
public EchoServer(int port) {
this.port = port;
}
public void start() throws Exception {
Eve...
分类:
Web程序 时间:
2015-06-09 21:57:36
阅读次数:
172
1、不选择java原生nio的原因 (1)nio的类库和api繁杂 (2)需要具备其他的额外的技能做铺垫,例如熟悉java多线程编程。 (3)可靠性能力补齐的工作量和难度都非常大,例如客户面临断连重连、网络闪断、半包读写、失败缓存、网络拥塞和异常码流的处理等问题。 (4)jdk nio的bug,例如...
分类:
Web程序 时间:
2015-06-07 12:24:26
阅读次数:
177