网络通信
文章平均质量分 82
iteye_2005
这个作者很懒,什么都没留下…
展开
-
HttpClient连接池原理及一次连接时序图
1. httpClient介绍HttpClient是一个实现了http协议的开源Java客户端工具库,可以通过程序发送http请求。 1.1. HttpClient发送请求和接收响应1.1.1. 代码示例以Get请求为例,以下代码获得google主页内容并将返回结果打印出来。public final s...原创 2013-08-05 09:14:58 · 424 阅读 · 0 评论 -
Hessian轻量级二进制远程调用框架
Hessian是一个轻量级的二进制远程调用框架,官方文档地址,它主要包括Hessian远程调用协议、Hessian序列化协议以及客户端服务端代理等几部分,关于Hessian协议可以看下另外一篇文章Hessian远程调用及序列化协议。Hessian远程调用框架构建在Http协议之上,下面是示意图。 下面这个图是一次远程调用的过程 其中步骤3、...原创 2013-04-14 10:01:17 · 107 阅读 · 0 评论 -
hessian序列化源码分析
hessian序列化源码分析博客分类:javaBeanEXTEclipselog4j项目管理 背景 最近在处理一个hessian的反序列化问题时,因为服务端使用了pojo bean中多了一个enum属性,导致客户端在反序列化时疯狂的在打印日志。警告说找不到对应的enum class,因为项目中本身是设置了log4j的根输出为一个文件。 ...原创 2013-04-12 09:51:27 · 226 阅读 · 0 评论 -
基于管道化和事件驱动模型的Web请求处理
这篇文章将会从问题,技术背景,设计实现,代码范例这些角度去谈基于管道化和事件驱动模型的Web请求处理。其中的一些描述和例子也许不是很恰当,也希望得到更多的反馈。问题的诞生与思考:一. 依赖之苦做过不少业务系统,最痛苦,最无奈的就是性能和稳定性依赖与外部系统处理能力和可用时间。而TOP是典型的Proxy模式,它自身的性能在传统的Web容器处理模式下依赖与后端服务处理能力...原创 2013-04-12 08:59:42 · 195 阅读 · 0 评论 -
基于netty写的网络通信框架
最近在做一个项目,用到了远程调用方式,开始采用的是rmi,后来经过测试,rmi可能无法达到项目的一些性能上的要求,于是采用了基于tcp/udp的netty,但是直接用netty开发,有些麻烦了,我们想把服务抽取出来部署在远程服务器上,开发的兄弟们只是在自己的项目中负责调用一下,就跟rmi类似,非常方便。 但是又有一个问题,调用的兄弟需要在web中请求这种tcp服务,netty内部是异...原创 2013-04-11 13:26:16 · 106 阅读 · 0 评论 -
URLConnection and HTTPClient 比较
HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpURLConnection是java的标准类HttpC...原创 2013-01-20 18:40:24 · 84 阅读 · 0 评论 -
httpclient编码问题
首先http响应的编码有两个部分,response头里的参数和页面开头的meta信息。其实浏览器首先是针对response头来设置页面charset的。httpClient模拟页面也是采用相同方式。所以其实乱码跟meta无关。 我们知道String-GBK〉ByteArray-GBK〉String是正确的,但如果我们采用String-GBK〉ByteArray-ISO-8859-...原创 2013-01-20 18:40:06 · 142 阅读 · 0 评论 -
Tomcat的异步通讯配置----使用NIO
Tomcat的异步通讯配置----使用NIO Tomcat 6.X实现了JCP的Servlet 2.5和JSP2.1的规范,并且包括其它很多有用的功能,使它成为开发和部署web应用和web服务的坚实平台。NIO (No-blocking I/O)从JDK 1.4起,NIO API作为一个基于缓冲区,并能提供非阻塞I/O操作的API被引入。 作为开源web服务器的java实现,tom...原创 2013-01-16 10:28:24 · 80 阅读 · 0 评论 -
TCP/IP 协议的结构与运行原理
本文背景:TCP/IP模型很成功,其设计已经经得起多年的磨练。无奈,TCP/IP协议族是很繁杂的一个模型,为了全面理解它,宜采取先全局后局部的庖丁解牛式。本文从应用的角度试着去理解TCP/IP的全貌,配合例子加以讲解。本文目的:巩固自己这方面的知识,作为深入TCP/IP协议族的基础。本文内容:1. TCP/IP协议族组成从字面上理解,TCP/IP协议族只有TCP、IP协议,...2012-12-14 10:25:39 · 140 阅读 · 0 评论 -
用Netty实现的一个简单的HTTP服务器
用Netty实现的一个简单的HTTP服务器,可以处理静态文件,例子中的注释也比较全。主要是对HTTP的理解,接下来的文章中我也会更新一些HTTP相关的文章以及对例子的进一步完善,由浅到深,记录一些我的学习过程!public class HttpServer { public static void main(String[] args) { ServerBootstrap boo...原创 2013-08-12 17:38:35 · 203 阅读 · 0 评论 -
HTTP协议:缓存
1.缓存的优点1) 缓存减少了冗余的数据传输,节省了网络费用。2) 缓存缓解了网络瓶颈的问题,不需要更多的网络带宽就能更快的加载页面。3) 缓存降低了对原始服务器的要求,服务器可以更快的响应。2.缓存分类1)私有缓存常见就是我们的浏览器里内置的缓存。2)公有缓存常见的就是代理缓存,不多介绍。3.缓存的处理流程 处理流程图,如上所示,下面分步骤具体介绍...原创 2013-08-12 17:34:50 · 122 阅读 · 0 评论 -
Java远程通讯可选技术及原理(1)
Java远程通讯可选技术及原理(1)通过监听的端口获取到请求的流,转化为XML,并根据协议获取请求的信息,进行处理并将结果写入XML中返回。通过监听的端口获取到请求的流,转化为二进制文件,根据协议获取请求的信息,进行处理并将结果写入XML中返回。 摘要:在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA...原创 2013-04-14 10:01:43 · 174 阅读 · 0 评论