技术框架版本:hessian 3.16+spring 2.5
由于hessian不支持文件传输,所以我们将文件内容保存到byte数组中,然后返回给客户端,客户端再将字节写到文件中,文件读取采用随机文件读取方式。
示例如下:
public interface ISynFile
{
/**
*@param filename 需要下载的文件名
*@param offset 从offset位置开始读取文件
*@param length 读取字节数
*/
byte[] downloadFile( String filename, long offset, int length);
}
public SynFile implements ISynFile
{
public byte[] downloadFile( String filename, long offset, int length)
{
RandomAccessFile rf = null;
rf.seek(offset);
byte buffer[] = new byte[length];
int readLen = rf.read(buffer);
rf.close();
return buffer;
}
}
hessian 4.0提供了文件传输功能,具体可以看:
http://hessian.caucho.com/doc/hessian-overview.xtp
但是由于担心文件太大可能导致内存溢出,所以没有采用这种方式。根据文档意思,这种方式不能使用代理,需要手工完成hessian2Input等的操作就可以避免内存溢出问提,目前我还不会。
这个也可参考:
http://weishuwei.iteye.com/blog/92449
分享到:
相关推荐
在IT行业中,分布式服务框架Dubbo是...通过理解Hessian协议的特性,我们可以实现高效、简洁的远程方法调用,提升分布式系统的性能。在实际项目中,可以根据业务需求和安全考虑,灵活调整和优化Hessian协议的使用方式。
Hessian协议是http://caucho.com/公司开发的一种实用的web服务技术,它采用二进制数据,传输效率比较高,简单易用,是C#.NET/IIS环境快速开发web服务应用的一种解决方案。本资源中包含Hessian协议的C#版源代码,由于...
标题中的“Hessian加密传输”指的是使用Hessian协议进行数据传输时的一种安全性增强技术。Hessian是一种二进制RPC(远程过程调用)协议,它提供了简洁高效的序列化方式,常用于服务之间的通信。在传输过程中,为了...
1. **Hessian协议**:Hessian由Caucho公司开发,它的主要优点是数据传输紧凑、高效,同时能够处理各种复杂的对象类型,包括Java和.NET的对象。它采用了二进制格式,相比XML-RPC或JSON-RPC,能更节省网络带宽,提高...
6. **文件传输优化**:在实际的文件上传和下载过程中,可能会涉及到断点续传、大文件分块传输、文件缓存等优化策略,以提高传输效率和用户体验。 7. **安全性考虑**:文件服务需要考虑安全问题,例如防止恶意文件...
`hessian-4.0.7.jar`是Hessian的运行时库,包含了实现Hessian协议的各种类和接口。这个jar文件可以被Java应用程序引入,以便在客户端和服务端之间进行Hessian协议的通信。它包括了序列化和反序列化机制,以及对HTTP...
在【标签】中,"源码"可能指的是查看或分析Hessian协议的底层实现,这对于理解其工作原理和优化性能非常有帮助。"工具"可能指的是使用Hessian相关的开发工具或框架,例如HessianProxyFactory、HessianServlet等。 ...
首先,理解Hessian协议的基础知识是必要的。Hessian是一种二进制格式,它能将Java或.NET对象编码为字节流,然后在网络上传输,接收端再将这些字节流解码回原生对象。这种协议的优势在于其紧凑性,使得数据传输更高效...
3. **Python中的Hessian**:Python也有对应的Hessian库,如`pyhessian`,它实现了Hessian协议,使得Python应用能够与Java Hessian服务进行通信。同样,服务端可以通过定义Python函数并包装为Hessian服务,客户端则...
1. 轻量级:Hessian协议使用二进制格式,比基于文本的XML协议更紧凑,传输效率高,节省带宽。 2. 高效性:Hessian的序列化和反序列化速度快,降低了网络延迟。 3. 自动类型映射:Hessian支持自动类型转换,使得Java...
压缩包文件 "hessianTest" 可能包含博主的测试代码或示例,用来验证Hessian协议的正确性和性能。通过分析这些测试代码,我们可以更深入地了解Hessian的工作原理,以及如何在不同的场景下使用它。 总之,"自己写了个...
HessianServer指的是实现Hessian协议的服务端程序,通常用于构建分布式系统,使得不同的应用可以跨网络进行无缝通信。下面将详细介绍Hessian服务端的相关知识点。 1. **Hessian协议**: Hessian是Adobe公司开发的...
用户只需按照说明运行这些文件,就可以快速体验Hessian的通信过程,这对于学习和测试Hessian协议非常有帮助。 Hessian的优势在于它的二进制编码,相比于基于文本的协议(如JSON或XML),它能显著减少网络传输的数据...
这个"PHP与Java通信Demo源码"是基于Hessian协议实现的一个示例,展示了如何在PHP和Java之间建立通信。现在,我们将深入探讨Hessian协议以及如何使用它在PHP和Java之间进行数据交换。 首先,Hessian协议由Caucho ...
标题提及的“Hessian实例下载”意味着这个压缩包包含了使用Hessian协议的示例代码和必要的库文件,方便开发者快速理解和学习如何在自己的项目中集成Hessian。描述中提到的网站地址是Hessian的官方主页,该页面提供了...
Hessian4.0.37是Hessian协议的一个稳定版本,提供了对Java应用的支持,使得远程方法调用变得更加简单和快速。这个版本可能包含了一系列的优化和修复,以提高服务的可靠性和效率。jar文件是Java的归档文件,用于打包...
总结来说,这个项目提供了一个C#实现的Hessian服务端和客户端的示例,通过IIS部署验证,可以作为学习和实践Hessian协议的参考。了解并掌握这一技术,有助于开发人员在分布式系统中实现高效、可靠的通信。
Hessian协议定义了一套规则,用于表示各种数据类型,包括基本类型、字符串、日期、集合和自定义对象。这样,客户端通过网络发送一个Hessian序列化的请求,服务端接收后反序列化为本地对象,然后执行相应的操作,再...
从压缩包子文件的文件名称“HessianCSharp”来看,这可能是一个C#类库或者包含C#代码的项目文件,用于实现Hessian协议的客户端,以便于调用Java服务。 以下是关于Hessian在C#和Java之间交互的知识点: 1. **...