JAVA 浅谈文件传输_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > JAVA 浅谈文件传输

JAVA 浅谈文件传输

 2014/7/16 18:57:42  java-csu-ll  程序员俱乐部  我要评论(0)
  • 摘要:最近在写一个仿QQ的软件,通过多线程实现了多个客户端之间互相收发消息的功能。文件传输和消息发送的原理大致相同,都是根据我们自己定义的通信协议来进行。工作原理:客户端:1.获取文件对象2.与服务器建立连接3.建立到服务器的输出流4.根据通信协议发送文件服务器端:1.建立一个服务器等待客户端的连接2.根据通信协议接收文件3.将文件保存到指定目录下我自己定义的通信协议:1.客户端发送一个字节大小的数据(type),表示发送文件的类型(文件为2)2.客户端发送一个int大小的数据(destNum)
  • 标签:
最近在写一个仿QQ的软件,通过多线程实现了多个客户端之间互相收发消息的功能。文件传输和消息发送的原理大致相同,都是根据我们自己定义的通信协议来进行。
工作原理:

客户端:
1.获取文件对象
2.与服务器建立连接
3.建立到服务器的输出流
4.根据通信协议发送文件

服务器端:
1.建立一个服务器等待客户端的连接
2.根据通信协议接收文件
3.将文件保存到指定目录下

我自己定义的通信协议:
1.客户端发送一个字节大小的数据(type),表示发送文件的类型(文件为2)
2.客户端发送一个int大小的数据(destNum),表示接收者的ID(以后实现用户间传送文件)
3.客户端发送一个int大小的数据(fileDateLen),表示文件的长度
4.客户端根据文件的长度,向输出流中写入文件的内容并发送给服务器
5.客户端发送一个int大小的数据(nameLen),表示文件名的长度(方便服务器根据文件名存储文件)
6.客户端根据文件名的长度,向输出流中写入文件名的内容并发送给服务器
服务器端只需根据通信协议进行接收即可

部分代码截图如下:
客户端发送文件部分:


服务器端接收文件部分:


  • class='magplus' title='点击查看原始大小图片' />
  • 大小: 105.8 KB
  • 大小: 96.6 KB
  • 查看图片附件
  • 相关文章
发表评论
用户名: 匿名