WildFly8的默认Servlet容器采用的不是Tomcat,也不是Jetty,而是JBoss自己开源的Undertow,Undertow是用Java编写的性能灵活的Servlet容器,底层基于高性能的NIO框架XNIO,XNIO也是JBoss开源的产品,JBoss开源的高性能NIO框架还有一个很有名:Netty。Undertow在WildFly8中的角色如图:
Undertow的架构...
分类:
其他好文 时间:
2015-04-28 09:46:21
阅读次数:
558
最近研究Android Socket通讯,遇到Socket write timeout写超时现象,具体是:OutputStream outStream = mSocket.getOutputStream();outStream.write(data); //卡在这一行;outStream.flush...
分类:
Web程序 时间:
2015-04-27 21:24:16
阅读次数:
334
#Netty里面的Boss和Worker【Server篇】 最近在总结Dubbo关于Netty通信方面的实现,于是也就借此机会深入体会了一下Netty。一般启动Netty的Server端时都会设置两个ExecutorService对象,我们都习惯用boss,worker两...
分类:
Web程序 时间:
2015-04-27 15:43:09
阅读次数:
258
今天一个东西需要用到java nio的东西。在网上查了一下资料,发现有Apache的Mina,Netty等,感觉JDK中带的NIO有点鸡肋啊。之前看过这部分的内容,但好长一段时间没有用,也就忘得七七八八了。如今是温故而知新,但其中遇到了些疑问:先贴上代码吧:public static void ma...
分类:
编程语言 时间:
2015-04-23 13:08:06
阅读次数:
451
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