
java网络编程
kjfcpua
这个作者很懒,什么都没留下…
展开
-
TCP/IP协议分层
TCP/IP分层属性物理层数据链路层网络层传输层应用层单位比特流帧数据报报文段,用户数据报或分组报文协议无固定协议无固定协议IP/ICMP/ARP/IGMPTCP/UDP/SCTPHTTP/SMTP/FTP/DNS/DHCP转载 2012-03-11 19:08:17 · 1134 阅读 · 0 评论 -
SessionFilter顺序
在实现Cindy 3.0a3 SSLFilter的过程中,发现一个有意思的问题:不同类型的SessionFilter对于过滤事件的顺序有着不同的要求。 假设有这么一个场景,通过SSL连接接收和发送数据,并统计所有的网络流量。 对于接收而言,SessionFilter的顺序应该是: Received Packet --> StatisticFilter --> S转载 2009-11-26 19:17:00 · 992 阅读 · 0 评论 -
cindy 重名函数
前几天MSN和Arbow聊天时,他提到了可以在Cindy的Session接口中加入Object getAttribute(Stringkey)以及void setAttribute(String key, Objectvalue)两个方法,应用会更方便一些。原来的Object getAttachment()和void setAttachment(Objectobj)虽然也是这转载 2009-11-26 19:01:00 · 474 阅读 · 0 评论 -
Cindy中的Filter
Cindy中的Filter今天和Arbow在MSN上讨论时谈到了MINA中的Filter机制,Arbow认为这是一个非常方便的功能,他提到了比如可以设定黑名单/白名单,来设定要不要剩下的Listener继续处理该事件。 其实本来我在考虑MessageRecognizerChain和SecureSocketSession的时候就考虑过Filter的问题,当时我的考虑是Fil转载 2009-11-26 18:46:00 · 901 阅读 · 0 评论 -
Socket常量含义
1. TCP_NODELAYCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public boolean getTcpNoDelay() throws SocketExceptionpubl转载 2009-11-30 11:04:00 · 1490 阅读 · 0 评论 -
设计美好的服务器(6)--SEDA架构笔记
OverviewSEDA Adaptive Overload Control for Busy Internet Servers An Architecture for Highly Concurrent,Well-Conditioned Internet Services SEDA(Staged Eve转载 2009-11-27 20:03:00 · 853 阅读 · 0 评论 -
轻的,谁都会写的Service方案--REST与JSON
1.REST1.1 缘起 N年前,一说到跨平台的服务方案,大牛们就想到"Socket Server",小兵们就一直退,退到会议室的墙角。 几年前,一说到跨平台的服务方案,连客户都会想到"Web Service"。 现在,是个人都可以,在几分钟里,使用REST风格把一个服务的客户端和服务端写出来。1.2 初见 REST首先是一个词,转载 2009-11-27 19:59:00 · 983 阅读 · 0 评论 -
Cindy 3.0a5计划加入Qos控制
本来打算下一个版本就b1了,不过这两天发现一个非常值得改进的地方:发送的Qos控制,而且该改动会影响一些现有的API,如send(Object, int)/flush(Object,int)等等,所以还是下一个版本还会是alpha版本。 在a4的实现中,Qos控制是由一个PriorityQueue来完成的,根据不同的优先级权重来调整发送顺序。但是该实现只是一种特定的Qos转载 2009-11-26 19:29:00 · 585 阅读 · 0 评论 -
cindy 目标
最近常被问到的一个问题是:做高效率的网络应用都是用C/C++,为什么要用Java?我也一直在思考这个问题,这牵涉到Cindy的定位,以及将来的发展方向。 如果存在一个这样的假设:C/C++和Java在网络处理方面拥有接近的运行效率,你会选择用什么语言开发网络应用?我的答案会是Java。为什么?因为对于大部分普通程序员而言(某些C/C++高手除外),在业务逻辑的开发效率上,转载 2009-11-26 19:29:00 · 867 阅读 · 0 评论 -
Cindy 3.0a2 released
Cindy 3.0a2 released下载地址:http://sourceforge.net/projects/cindy/ 修改记录:添加了对JMX的支持 (通过运行时指定-Dnet.sf.cindy.useJmx)添加了流量控制提高了Buffer效率提高了PacketDecoderFilter效率将默认的PacketEncoder由ByteA转载 2009-11-26 19:19:00 · 455 阅读 · 0 评论 -
cidny SessionDispatcher
SessionDispatcherJerry来信问了一些有关SessionDispatcher的问题,在征得其同意后,将来信和回信贴在这里,希望能给大家一些帮助。 来信 你好,看了你的cindy觉得很有意思,看到他一直在进步,也很让人高兴。看了新出的cindy3.0a2里面的代码,和3.0a1做了一下比较,发现了一些不同,所以想请教一下你的想法你的Se转载 2009-11-26 19:18:00 · 694 阅读 · 0 评论 -
Java SE 6 Beta
Sun发布了Java SE 6 Beta(以下简称6),查了查功能改进,没有发现什么激动人心的变化。挑了几条稍微感兴趣一点的评价一下。jconsole is more user-friendly6的新建连接的窗口有非常大的改变。在Local Process窗口列出了所有本地java进程(包括jconsole本身),不能通过Jconsole进行管理的进程处于disa原创 2009-11-26 19:17:00 · 838 阅读 · 0 评论 -
Cindy 3.0a3 released
下载地址: http://sourceforge.net/projects/cindy修改记录:添加了SSLFilter,不过仅能运行在Java 5.0以及以后的版本上添加了net.sf.cindy.session.dispatcher包,应用可以加入自定义的Dispatcher实现(通过-Dnet.sf.cindy.dispatcher=Dispatcher实现类转载 2009-11-26 19:16:00 · 4589 阅读 · 0 评论 -
Cindy 3.0 效率测试
Cindy 3.0 效率测试客户端环境:AB 2.0.41-dev服务器环境,客户端和服务器在同一台机器上,不带任何参数运行:MINA 0.90示例所带的HttpServer(修改了MINA 0.90中ByteBuffer.wrap不正确的Bug)MINA 0.90示例所带的HttpServer修改版(修改了MINA 0.90中ByteBuffer.w转载 2009-11-26 19:12:00 · 950 阅读 · 0 评论 -
cindy POSA2读书笔记(二)
POSA2读书笔记(二)呵呵,距离第一篇已经过了半年了……这本书其实翻完已经很久了,但是实践中没有使用到的东西总是一知半解,写出来会误导大众,所以还是不写的好。 今天在为Cindy 3.0a1中并发模型设计头痛的时候,翻了翻这本书中的相关模式,突然有种豁然开朗的感觉:) Half-Sync/Half-Async:这个模式是从Cindy 1.x一直沿用下来的模式,我估计转载 2009-11-26 19:08:00 · 1807 阅读 · 0 评论 -
Cindy3.x源码分析
最近看了JE上几篇nio相关的帖子,触发一些对于nio的思考。再一次深入阅读了cindy3.x的源码,并将一些个人心得记录下来。本文主要探讨cindy与select轮询相关的设计和实现。且主要分析TCP非阻塞模式,不涉及UDP或阻塞模式。其实几乎所有的nio框架都采用reactor模式,不同之处在于轮询与分发线程的设计。Reactor相关的接口及实现类Re转载 2009-11-26 14:32:00 · 860 阅读 · 0 评论 -
Cindy 3.0a4 效率测试
硬件环境:服务器和客户端为同一台机器:XEON 3.0G/2G/SUSE 10.0/Kernel 2.6.13-15-smp软件环境:Java虚拟机均采用BEA JRockit,版本号为R26.0.0-189-53463-1.5.0_04-20051122-2040-linux-ia32,运行时参数均指定为-Xms512m -Xmx512m。除转载 2009-11-26 19:30:00 · 1072 阅读 · 0 评论 -
Cindy 3.0a3 user guide released
下载地址: http://cindy.sourceforge.net/UserGuide.pdf User Guide中的示例都是非常简单的示例,起个入门的作用。有了这个引子,再看看cindy源代码example目录下的示例,应该很容易就能上手。 希望各位多提意见,这样才好根据你们的意见来做改进:) a4的主要目标是提高Cindy的易用性,比如通过运行转载 2009-11-26 19:33:00 · 966 阅读 · 0 评论 -
Java AIO初探(异步网络IO)
http://www.linux521.com/2009/java/200909/8409.html转载 2009-11-26 20:48:00 · 1075 阅读 · 0 评论 -
Java 网络编程之 (完全总结)
TCP TCP,传输控制协议(Transmission Control Protocol),是面向连接的通信协议。它提供两台计算机之间的可靠无差错的数据传输。应用程序通过 TCP 进行通讯时,数据源和接收目标之间会建立一个虚拟的连接,这个连接一旦建立,两台计算机之间就可以把数据作为双向字节流进行交换。其实基于 TCP 的通信传输的数据帧也不是可靠的,只是在发送 TC转载 2012-02-24 15:03:52 · 1157 阅读 · 0 评论 -
用Java实现断点续传(HTTP)
<br />(一)断点续传的原理<br />其实断点续传的原理很简单,就是在Http的请求上和一般的下载有所不同而已。<br />打个比方,浏览器请求服务器上的一个文时,所发出的请求如下:<br />假设服务器域名为wwww.sjtu.edu.cn,文件名为down.zip。<br />GET /down.zip HTTP/1.1<br />Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/v转载 2010-10-20 14:14:00 · 697 阅读 · 0 评论 -
“网络蚂蚁”的Java实现
<br />“网络蚂蚁”、Falshget等许多多线程下载软件都是网友的必备工具,利用这些工具可以快速从服务器上下载比较大的文件,这些工具的工作特性是把服务器端的文件分成几个段,每个段分别、同时进行下载。编写这类程序,第一、必须对HTTP协议有较为充分的了解;第二、有效使用多线程编程手段在软件上实现。 <br /><br />HTTP 协议的简介 <br /><br />HTTP协议是一种超文本传输协议(Hypertext Transfer Protocol),工作于网络应用层,自1990年转载 2010-10-20 14:15:00 · 764 阅读 · 0 评论 -
Java中各类Cache机制实现解决方案
在Java中,不同的类都有自己单独的Cache机制,实现的方法也可能有所不同,文章列举了Java中常见的各类Cache机制的实现方法,同时进行了综合的比较。OSCacheOSCache是个一个广泛采用的高性能的Java EE缓存框架,OSCache能用于任何Java应用程序的普通的缓存解决方案。OSCache有以下特点:缓存任何对象,你可以不受限制的缓存部分jsp页面或HT转载 2010-05-04 12:42:00 · 704 阅读 · 0 评论 -
一个项目看java TCP/IP Socket编程(1.3版)
前一段时间刚做了个java程序和网络上多台机器的c程序通讯的项目,遵循的是TCP/IP协议,用到了java的Socket编程。网络通讯是java的强项,用TCP/IP协议可以方便的和网络上的其他程序互通消息。先来介绍下网络协议: TCP/IP Transmission Control Protocol 传输控制协议转载 2009-12-07 15:48:00 · 1544 阅读 · 1 评论 -
JAVA NIO 中文续
http://hi.baidu.com/nxdl/blog/item/781127f3e1ee485a352acce2.html转载 2009-12-05 16:46:00 · 713 阅读 · 0 评论 -
JSP WEBServer的实现原理
因为要实现一个WebServer,写完了一个简单的WebServer后突发奇想,何不实现一个JSP 的WebServer呢?有了这个想法后,就开始考虑JSP的实现原理,其实JSP的实现也很简单,说白了就是将其转换成一个Java文件,再对这个Java文件进行编译,生成类文件,接着再由服务器使用这个类文件。从总体上分,可以将JSP文件的内容划分为两大块,即输出语句和控制语句。至于JSP文件中的转载 2010-01-31 19:02:00 · 1700 阅读 · 0 评论 -
http协议学习系列2 ——协议详解篇
文:阿蜜果日期:2009-12-22. 协议详解篇2.1 HTTP/1.0和HTTP/1.1的比较RFC 1945定义了HTTP/1.0版本,RFC 2616定义了HTTP/1.1版本。笔者在blog上提供了这两个RFC中文版转载 2009-12-03 14:32:00 · 1415 阅读 · 0 评论 -
HTTP协议和web工作原理
本章学完之后能干什么?要把 知识点学好,那就需要把它相关的周边知识点了解全面HTTP协议是web学习的核心!!!学东东切忌只学配置,不学原理:只学会框架有什么用,要会自己写框架!!web学习直接关系到J2EE的学习一、HTTP 超文本传输协议 人类之所发展得如此快,就是因为有自己的语言 1、所谓超文本:即纯文本语言,不依赖于任何特定语言,任何语言都可转载 2009-12-03 14:26:00 · 8649 阅读 · 2 评论 -
JAVA客户端连接SSL
今天遇到了一个JAVA客户端连接SSL的问题,查了一下javax.net.ssl.HttpsURLConnection的使用,查到这篇不错的文章,转载一下。/** * Title: * * Description: * * Copyright: Copyright (c) 2005 * * Company: * * @author not attri转载 2009-12-03 14:34:00 · 1233 阅读 · 0 评论 -
简单的用 Java Socket 编写的 HTTP 服务器应用,帮助学习HTTP协议(支持POST信息打印)
要让例子完整运行, 请在程序目录下放一个 images/test.gif. 2008-05-18最新修改:支持浏览器发出的POST信息打印,修正POST方式无法完成响应造成阻赛的BUG/** * SimpleHttpServer.java */import java.io.*;import java.net转载 2009-12-03 19:59:00 · 1922 阅读 · 0 评论 -
http协议学习和总结系列1
http协议学习和总结系列文:阿蜜果日期:2009-11-301. 基础概念篇1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engin转载 2009-12-03 14:31:00 · 2465 阅读 · 0 评论 -
设计一个美好的服务器--MINA、CXF、Mule、JBoss/Geronimo
假如冬夜,一个旅人,要开发一个美好的Java后台服务器。所谓美好,就是要高性能,千万级的用户;高可靠性,failover虽死犹生;高扩展性,跟周围那帮Tuxedo,IBM MQ,WebService的邻居要好好打交道。这是个毫无个性,几乎每次都一样的需求。Java的开源世界为那些心里不安的设计师们,准备了MINA、CXF、Mule和JBoss/Geronimo。1、MINA转载 2009-11-27 19:59:00 · 995 阅读 · 0 评论 -
SEDA性能优化的分析和模拟
在学习Mule的过程中,发现MULE对于服务调用的性能做了不少优化工作,其中最显著的就是实现SEDA模型。Staged Event Driven Architecture (SEDA)是加州大学伯克利分校研究的一套优秀的高性能互联网服务器架构模型。其设计目标是:支持大规模并发处理、简化系统开发、支持处理监测、支持系统资源管理。它的核心思想是把一个请求处理过程分成几个Sta转载 2009-11-27 19:38:00 · 755 阅读 · 0 评论 -
cindy源码分析filterchain
常用的网络通讯框架主要有:Mina ,Grizzly,Cindy,Netty等,看了下cindy的代码,和mina有很多相似的地方,实现的比mina精简很多,据说性能还要好于mina.参照代码实现了一下filterchain的HelloWorld版,简单说明一下cindy里对filterchain模式的应用.首先定义filter接口,filter接口封装了session中的s转载 2009-11-27 10:44:00 · 2402 阅读 · 0 评论 -
设计美好的服务器(4)--Mule ESB笔记
OverviewMule Mule ESB笔记(花钱的年华) Mule Training(MuleConf2007) Exploring ESB Patterns with Mule(java.net) Mule: A Case Study(TSS) Evolutionary inte转载 2009-11-27 20:00:00 · 1334 阅读 · 0 评论 -
设计美好的服务器II--站在JBoss MicroKernel上
一个Java World的业务处理服务器,总会遇上JNDI/JMX/JMS/JTA/Web Service/RMI/Corba/EJB/Clustering 这些JavaEE规范。大家可以依着Java开源社区的繁盛,以JDK+开源实现来拼凑遇到的规范,Geromino就是这样成就了大业。也可以像传说中一些欧洲电信公司那样,将服务引擎建在JBoss之上,需要的构件直接上JBoss套装,自己则转载 2009-11-27 19:58:00 · 633 阅读 · 0 评论 -
java nio 之MappedByteBuffer
其实掌握MappedByteBuffer并不难,只要记住“三方三法三特性”(我自己总结的,呵呵~~不要扔鸡蛋哦。。。)这句话就可以轻松搞定!MappedByteBuffer 只是一种特殊的 ByteBuffer ,即是ByteBuffer的子类。 MappedByteBuffer 将文件直接映射到内存(这里的内存指的是虚拟内存,并不是物理内存,转载 2009-11-20 10:58:00 · 979 阅读 · 0 评论 -
案例1—MP3在线搜索下载程序
1.1 案例介绍本案例是一个MP3在线搜索程序,输入歌曲的名字,就可以在互联网上搜索和下载歌曲。支持多线程并发下载。1.1.1 目的和意义MP3下载是一个非常有价值的应用。这个应用有两个典型特点:1)访问互联网,需要强大的网络功能支持;2)需要多线程并发运行,能够同时下载多首歌曲。Java本身提供了强大的网络功能,能够非转载 2009-11-19 18:56:00 · 1544 阅读 · 0 评论 -
Java NIO 类库Selector机制解析(续)
在前些天的《Java NIO类库Selector机制解析》文章中,我们知道了下面的事情: 1)Sun的JVM在实现Selector上,在Linux和Windows平台下的细节。2)Selector类的wakeup()方法如何唤醒阻塞在select()系统调用转载 2009-11-19 17:19:00 · 987 阅读 · 0 评论 -
Java IO处理类的完整汇总对照
输入输出数据类型说明 InputStreamOutputStreambyte最底层 ByteArrayInputStream ByteArrayOutputStreambyte带字节缓冲缓冲 FileInputStream FileOutputStreambyte直接转载 2009-11-19 16:41:00 · 571 阅读 · 0 评论