finalstaticAttributeKey<Integer>id=newAttributeKey<Integer>("ID");
分类:
Web程序 时间:
2015-04-22 15:56:28
阅读次数:
364
这是一个netty自带的echo案例,添加了心跳包的设置而已,关键代码如下:
/*
* Copyright 2012 The Netty Project
*
* The Netty Project licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may n...
分类:
Web程序 时间:
2015-04-22 00:36:19
阅读次数:
458
最近在做一个基于Netty框架的项目。
该项目使用了Google的Protobuf作为编解码的框架。(没有使用XML或者json是为了更好的提高效率)。
经过了一段时间的使用我对Protobuf的原始文件进行一个简单的使用方法总结。
我主要在这里说明一下,原始文件.proto中,修饰符repeated、required、optional的区别。
0.windows环境,java工程
1....
分类:
编程语言 时间:
2015-04-20 15:08:27
阅读次数:
216
大家好:
我近期写了一个TCP长连接的框架,封装的Netty,序列化采用的是PB,内存缓存用的Google的Guava。项目托管在GitHub上,开源希望大家能用起来并且一起维护这个项目。我是做游戏服务器的,像客户端的引擎框架有Cocos2d , Unity等。而服务器没有相对来说比较好的开源的架构(或者说鄙人学识浅薄没有发现)。我也经历了几个游戏从开发到上线的这样一个过程,所以也看到过几个比较...
分类:
其他好文 时间:
2015-04-20 11:16:45
阅读次数:
122
连接中断处理
在客户端和服务端建立起连接之后,如果连接发生了意外中断,Netty也会及时释放连接句柄资源(因为TCP是全双工协议,通信双方都需要关闭和释放Socket句柄才不会发生句柄的泄漏,如不经过特殊处理是会发生句柄泄露的),原理如下:
在读取数据时会调用io.netty.buffer.AbstractByteBuf.writeBytes(ScatteringByteChannel, in...
分类:
Web程序 时间:
2015-04-20 09:31:39
阅读次数:
206
最近项目里遇到一个问题,就是在wildfly-8.1.0的同一个server上布署多个war,且这几个war中都依赖了netty3,导致只能有一个war包成功,经过排查,发现是jboss服务器本身的一个bug(https://issues.jboss.org/browse/IMMUTANT-144),原因是jboss本身对相同的"拓展"只能注册一次,而netty3中的jboss-beans.xml...
分类:
Web程序 时间:
2015-04-18 08:54:20
阅读次数:
233
NIO闲聊
自从JAVA1.4推出NIO起,JAVA网络编程进入了一个全新的时代,传统网络IO(OIO)是傻等式的,一旦IO操作发起,那么用户线程就陷入很傻很天真的等待中,直到IO操作结束或者发生了断连,而NIO则要聪明许多是事件触发式的,只有当前有IO事件发生了,才会通知用户线程执行IO操作,当前操作结束之后不会阻塞等待可以执行其他的业务操作等待下一次事件,就好比上银行取钱,一种方式排队傻等直...
分类:
Web程序 时间:
2015-04-18 08:49:05
阅读次数:
458
最近温习了一遍Redis命令,忧伤的是很多东西已交还给老师,正好赶上antirez大神在愚人节发布了Redis
3.0,Redis终于有了支持集群的正式版本,于是心血来潮决定自己实现一个Redis客户端来抚慰我这颗忧伤的心灵。
Jedis已经足够强大,它的网络连接是基于阻塞式IO,实现非常简单易懂,但是OIO和NIO相比性能上有劣势,于是决定通过NIO来实现和Redis服务器的网络连接,现在...
分类:
Web程序 时间:
2015-04-17 11:42:08
阅读次数:
246
Netty简介: Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。 Netty 是一个基于NIO的客户,服务器端编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例.....
分类:
Web程序 时间:
2015-04-17 07:05:27
阅读次数:
212
现在我们经常使用程序或者库和其他人交流信息.例如,我们经常使用http程序库去从一个web server接收信息,或者调用一个远程的web服务.然而,一个通用的传输协议或者实现有的时候不能适应我们自己的场景.例如,我们不会用http server来传输一些大的文件,Email和一些实时性的信息,例如金融方面或者有些游戏数据方面的信息.这些需要一个高度优化的协议,为了使用某一种特定的应用场景. 例如,你可能想要实现一个专门为了多媒体视频流,大文件传出,或者基于ajax的一个聊天程序的Http Server.甚...
分类:
Web程序 时间:
2015-04-16 20:02:54
阅读次数:
188