-
JAVA socket 文件传输 问题请教!30
我写的SOCKET 文件传输带MD5校验,客户端总是多写16位的MD5
服务端代码:(在WRITE完以后,还需要WRITE16位的MD5值)
while (len <= 8096 && fis.available() > 0) {
byte[] src = new byte[8096];
len = fis.read(src);
dos.write(src, 0, len);
dos.flush();
}
dos.write(fth.getMd5Value());
dos.flush();
客户端代码:
while (rFilelen > 0) {
byte[] recvData = new byte[8096];
int len = dis.read(recvData);
// 进行SHA1校验
digest.update(recvData, 0, len);
fos.write(recvData, 0, len);
rFilelen = rFilelen - len;
System.out.println(rFilelen);
}
byte[] md5Value=new byte[16];
dis.readFully(md5Value);2013年12月10日 20:05
1个答案 按时间排序 按投票排序
-
改进一下你的方法;
//写方法
int len;
byte[] buffer = new byte[2048];
while((len = fis.read(buffer)) != -1){ //说明还有内容
dos.write(buffer, 0, len);
dos.flush();
}
//读方法
int len;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[2048];
while((len = dis.read(buffer)) != -1){ //说明还有内容
baos.write(buffer, 0, len);
baos.flush();
}
byte[] body = baos.toByteArray();
baos.close();
digest.update(body, 0, body.length);
中间缺少的代码请自行补上。。。。
希望能帮到你。2013年12月11日 13:59
相关推荐
java socket 大文件传输,快速传输, 数据包的分片,组装,涉及UDP,TCP传输技术,NIO非阻塞等等,适合对socket编程进一步学习的同学
用JAVA实现的文件上传,控制台输入,保存到数据库
Java基于Socket文件传输示例Java基于Socket文件传输示例Java基于Socket文件传输示例
socket 文件传输编程 java 多线程
基于java nio socket 的文件传输例程
Java基于Socket文件传输示例:服务器端和客户端
java socket 简单的文件传输程序,只是实现了基本功能而已。
计算机网络 作业实例 Java socket编程 文件传输
java socket使用加密协议传输对象
Java基于Socket文件传输示例:服务器端和客户端
Java Socket 文件传输小案例
采用java socket编程,利用Internet传输各种类型的文件,在传输过程中数据完整,传输速度快等优点。
java socket 文件传输 示例 实例类别:Android平台开发
Java Socket传输图片源代码;短小精悍,适合初学者学习参考使用
自己写的东东,已经打成jar包,java socket的聊天和文件传输的工具,暂不提供源代码,有兴趣可以反编译。
Java基于Socket实现局域网文件传输,此文件包含了Eclipse项目源码和已经打包好了的.jar文件(文件发送端和文件接收端)。 处在同一局域网内的两台主机,一台运行sender.jar文件(发送端),另一台运行receiver.jar...
java socket 文件传输源码
Java Socket编程 PC端程序 用来传输文件 包括服务器、客户端
java socket在传输文件时,分包、组包和校验。 校验包数据,现成的代码可以拷贝直接运行。
合并了聊天和文件传输功能,能够一边传输文件一边聊天,在局域网已经初步测试。并附上源代码和简单的说明。