计算机网络中的多路复用技术
摘要:1.多路复用介绍 多路复用即一个信道传输多路信号 典型的多路复用方法: a.频分多路复用(Frequency division multiplexing——FDM) b.时分多路复用(Time division multiplexing——TDM) c.波分多路复用(Wavelength divis
阅读全文
posted @
2016-01-26 21:39
duanxz
阅读(4519)
推荐(0) 编辑
I/O模型之二:Linux IO模式及 select、poll、epoll详解
摘要:目录: 《I/O模型之一:Unix的五种I/O模型》 《I/O模型之二:Linux IO模式及 select、poll、epoll详解》 《I/O模型之三:两种高性能 I/O 设计模式 Reactor 和 Proactor》 《I/O模型之四:Java 浅析I/O模型》 同步IO和异步IO,阻塞IO
阅读全文
posted @
2016-01-24 21:02
duanxz
阅读(2183)
推荐(1) 编辑
I/O模型之三:两种高性能 I/O 设计模式 Reactor 和 Proactor
摘要:目录: 《I/O模型之一:Unix的五种I/O模型》 《I/O模型之二:Linux IO模式及 select、poll、epoll详解》 《I/O模型之三:两种高性能 I/O 设计模式 Reactor 和 Proactor》 《I/O模型之四:Java 浅析I/O模型》 Reactor(反应堆)和P
阅读全文
posted @
2016-01-24 00:26
duanxz
阅读(4605)
推荐(1) 编辑
I/O模型之四:Java 浅析I/O模型(BIO、NIO、AIO、Reactor、Proactor)
摘要:目录: 《I/O模型之一:Unix的五种I/O模型》 《I/O模型之二:Linux IO模式及 select、poll、epoll详解》 《I/O模型之三:两种高性能 I/O 设计模式 Reactor 和 Proactor》 《I/O模型之四:Java 浅析I/O模型》 一、传统的BIO 网络编程的
阅读全文
posted @
2016-01-22 13:44
duanxz
阅读(2985)
推荐(0) 编辑
WebSocket :Nginx+WebSocket内部路由策略推送服务器的实现(附可生产环境应用代码)
摘要:1.项目背景 前几天写了一篇WebSocket推送的博客:WebSocket :用WebSocket实现推送你必须考虑的几个问题 支持的连接数大概几千个,具体数量依赖于tomcat能并发的线程数,但很多时候生产环境应用的话几千个肯定是不行的,所以本问介绍Nginx+WebSocket的实现思路及代码
阅读全文
posted @
2016-01-21 20:27
duanxz
阅读(1930)
推荐(0) 编辑
Tomcat下WebSocket最大连接数测试
摘要:WebSocket现在很常用,想要测试tomcat的最大连接数,今天试了一个可行的办法和配置(之前是用全公司的设备一起来测试的,真机环境的测试收到网络的影响很大,其实真实环境应用中,网络才是websocket的最大瓶颈) 废话不多说~ 1.Tomcat需要设置的地方(很多人从网上找的配置试了不可行)
阅读全文
posted @
2016-01-20 20:29
duanxz
阅读(2833)
推荐(0) 编辑
mina2中IoHandler
摘要:IoHandler 当我们通过IoSession执行相关操作的时候,如写数据,这些事件会触发Mina框架抽象的IoService实例,从而调用Mina框架底层的相关组件进行处理。这时,配置的IoHandler就被用来处理Mina所触发的相关事件,处理这些事件的操作被抽象出来。实际上,IoHandle
阅读全文
posted @
2016-01-19 20:03
duanxz
阅读(1787)
推荐(0) 编辑
I/O通信模型(BIO,NIO,AIO)
摘要:一、传统的BIO 网络编程的基本模型是Client/Server模型,也就是两个进程之间进行相互通信,其中服务端提供位置信息(绑定的IP地址和监听端口),客户端通过连接操作向服务端监听的地址发起连接请求,通过三次握手建立连接,如果连接建立成功,双方就可以通过网络套接字(Socket)进行通信。 在基
阅读全文
posted @
2016-01-19 19:58
duanxz
阅读(1317)
推荐(0) 编辑
mina框架详解
摘要:Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步(Mina
阅读全文
posted @
2016-01-19 19:55
duanxz
阅读(93712)
推荐(8) 编辑
websocket之三:Tomcat的WebSocket实现
摘要:Tomcat自7.0.5版本开始支持WebSocket,并且实现了Java WebSocket规范(JSR356 ),而在7.0.5版本之前(7.0.2版本之后)则采用自定义API,即WebSocketServlet。本节我们仅介绍Tomcat针对规范的实现。 根据JSR356的规定,Java We
阅读全文
posted @
2015-12-12 13:33
duanxz
阅读(17837)
推荐(2) 编辑
websocket之二:WebSocket编程入门
摘要:一、WebSocket客户端 websocket允许通过JavaScript建立与远程服务器的连接,从而实现客户端与服务器间双向的通信。在websocket中有两个方法: 1、send() 向远程服务器发送数据 2、close() 关闭该websocket链接 websocket同时还定义了几个监听
阅读全文
posted @
2015-09-20 07:56
duanxz
阅读(2141)
推荐(0) 编辑
session.write类型引发的思考---Mina Session.write流程探索.doc--zhengli
摘要:基于Mina开发网络通信程序,在传感器数据接入领域应用的很广泛,今天我无意中发现一个问题,那就是我在前端session.write(msg)数据出去之后,却没有经过Filter的Encoder方法,同样能够写入远程服务器。因为我所发送的数据不需要很复杂的编码,所以encoder方法也一直没有去看,今
阅读全文
posted @
2015-08-09 10:51
duanxz
阅读(3270)
推荐(0) 编辑
websocket之一:websocket简介
摘要:Websocket websocket为一次HTTP握手后,后续通讯为tcp协议的通讯方式。 WebSocket 使用一种被称作“Upgrade handshake(升级握手)”的机制将标准的 HTTP 或HTTPS 协议转为 WebSocket。因此,使用 WebSocket 的应用程序将始终以
阅读全文
posted @
2015-05-09 08:19
duanxz
阅读(3778)
推荐(1) 编辑
单服务器最大tcp连接数及调优汇总
摘要:启动线程数: 启动线程数=【任务执行时间/(任务执行时间-IO等待时间)】*CPU内核数 最佳启动线程数和CPU内核数量成正比,和IO阻塞时间成反比。如果任务都是CPU计算型任务,那么线程数最多不超过CPU内核数,因为启动再多线程,CPU也来不及调度;相反如果是任务需要等待磁盘操作,网络响应,那么多
阅读全文
posted @
2015-04-28 22:00
duanxz
阅读(44526)
推荐(3) 编辑
mina2中的线程池
摘要:一、Mina中的线程池模型 前面介绍了Mina总体的层次结构,那么在Mina里面是怎么使用Java NIO和进行线程调度的呢?这是提高IO处理性能的关键所在。Mina的线程调度原理主要如下图所示: Acceptor与Connector线程 在服务器端,bind一个端口后,会创建一个Acceptor线
阅读全文
posted @
2014-06-16 19:30
duanxz
阅读(3022)
推荐(0) 编辑
mina中的发送延时
摘要:由于项目需要,用到了 mina 框架进行 tcp 通讯。我是初次接触 mina,于是从 Hello world 开始学习了 mina 。期间遇到了一个奇怪的发送数据的延迟问题,解决的过程是曲折的,但找出的原因却令我“吐血”(没真的吐……)。不管怎样,还是贴出来一下作反面案例,希望初次学习 mina
阅读全文
posted @
2014-05-07 10:13
duanxz
阅读(2521)
推荐(0) 编辑
mina在spring中的配置多个端口
摘要:本次练习中是监听2个端口 applicationContext-mina.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//spring//DTD BEAN//EN" "http://www.springfr
阅读全文
posted @
2014-02-19 09:42
duanxz
阅读(1204)
推荐(0) 编辑
Mina2中IoService
摘要:Apache MINA 2 是一个开发高性能和高可伸缩性网络应用程序的网络应用框架。它提供了一个抽象的事件驱动的异步 API,可以使用 TCP/IP、UDP/IP、串口和虚拟机内部的管道等传输方式。 首先,mina server端acceptor启动方法: 1、NioSocketAcceptor.b
阅读全文
posted @
2014-02-18 17:41
duanxz
阅读(1115)
推荐(0) 编辑
Mina APR传输与串口传输讲解---zhengli
摘要:原文地址:Mina Transports(Apache Mina user guide Chapter6 Transport) 1.1.1.APR传输 1.1.1.1.介绍 APR (Apache Portable Runtime)Apache便携式运行时库提供卓越的可扩展性、性能和能够更好地与本地
阅读全文
posted @
2014-02-18 10:38
duanxz
阅读(1491)
推荐(0) 编辑
java.nio.ByteBuffer中flip、rewind、clear方法的区别
摘要:对缓冲区的读写操作首先要知道缓冲区的下限、上限和当前位置。下面这些变量的值对Buffer类中的某些操作有着至关重要的作用: flip、rewind、clear这三个方法便是用来设置这些值的。 clear方法 public final Buffer clear(){ position = 0; //重
阅读全文
posted @
2014-02-17 15:48
duanxz
阅读(4185)
推荐(3) 编辑