社区
Java SE
帖子详情
用JAVA实现一个点对点文件传输软件
wuyan19831013
2005-05-24 10:51:27
马上要做课件了!题目是:点对点的文件传输软件
具体要求:
1:直接使用TCP或UDP协议实现通信
2:能点对点的正确传输文件
3:传输包的长度可方便的在运行界面进行定制
4:可方便的在运行界面中指定好传输的文件
我想用JAVA实现,但我对socket编程不太熟悉,对UI还行
大家谈谈该如何实现,具体用到哪些技术? 该软件实现难度如何?若有实现代码可以参考,小弟感激不尽!
...全文
968
8
打赏
收藏
用JAVA实现一个点对点文件传输软件
马上要做课件了!题目是:点对点的文件传输软件 具体要求: 1:直接使用TCP或UDP协议实现通信 2:能点对点的正确传输文件 3:传输包的长度可方便的在运行界面进行定制 4:可方便的在运行界面中指定好传输的文件 我想用JAVA实现,但我对socket编程不太熟悉,对UI还行 大家谈谈该如何实现,具体用到哪些技术? 该软件实现难度如何?若有实现代码可以参考,小弟感激不尽!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
说好不能打脸
2005-06-28
打赏
举报
回复
嘿嘿嘿,写得不好,不要见笑,注释我加上了的。
说好不能打脸
2005-06-28
打赏
举报
回复
这个不要使用socket,因为你要用到HTTP协议且支持断点传输,而java的net包是作好了的,你只需要使用就可以了,用io包很容易就可以指定续传位置。用http实现断点续传的核心代码我给你:
import java.io.RandomAccessFile;
import java.io.File;
import java.io.InputStream;
import java.io.DataInputStream;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.net.HttpURLConnection;
import java.net.ConnectException;
import java.net.URL;
import java.lang.Runnable;
import java.lang.Thread;
import java.util.Date;
public class TestUpDown2 implements Runnable{
private HttpURLConnection connection;//存储连接
private int downsize = -1;//下载文件大小,初始值为-1
private int downed = 0;//文加已下载大小,初始值为0
private RandomAccessFile savefile;//记录下载信息存储文件
private URL fileurl;//记录要下载文件的地址
private DataInputStream fileStream;//记录下载的数据流
public TestUpDown2(){
try{
/*开始创建下载的存储文件,并初始化值*/
File tempfileobject = new File("h:\\webwork-2.1.7.zip");
if(!tempfileobject.exists()){
/*文件不存在则建立*/
tempfileobject.createNewFile();
}
savefile = new RandomAccessFile(tempfileobject,"rw");
/*建立连接*/
fileurl = new URL("https://webwork.dev.java.net/files/documents/693/9723/webwork-2.1.7.zip");
connection = (HttpURLConnection)fileurl.openConnection();
connection.setRequestProperty("Range","byte="+this.downed+"-");
this.downsize = connection.getContentLength();
//System.out.println(connection.getContentLength());
new Thread(this).start();
}
catch(Exception e){
System.out.println(e.toString());
System.out.println("构建器错误");
System.exit(0);
}
}
public void run(){
/*开始下载文件,以下测试非断点续传,下载的文件存在问题*/
try{
System.out.println("begin!");
Date begintime = new Date();
begintime.setTime(new Date().getTime());
byte[] filebyte;
int onecelen;
//System.out.println(this.connection.getInputStream().getClass().getName());
this.fileStream = new DataInputStream(
new BufferedInputStream(
this.connection.getInputStream()));
System.out.println("size = " + this.downsize);
while(this.downsize != this.downed){
if(this.downsize - this.downed > 262144){//设置为最大256KB的缓存
filebyte = new byte[262144];
onecelen = 262144;
}
else{
filebyte = new byte[this.downsize - this.downed];
onecelen = this.downsize - this.downed;
}
onecelen = this.fileStream.read(filebyte,0,onecelen);
this.savefile.write(filebyte,0,onecelen);
this.downed += onecelen;
System.out.println(this.downed);
}
this.savefile.close();
System.out.println("end!");
System.out.println(begintime.getTime());
System.out.println(new Date().getTime());
System.out.println(begintime.getTime() - new Date().getTime());
}
catch(Exception e){
System.out.println(e.toString());
System.out.println("run()方法有问题!");
}
}
public static void main(String[] src) throws Exception{
new TestUpDown2();
}
}
oyljerry
2005-06-28
打赏
举报
回复
参考一些java 的socket 例子
真心无著
2005-06-27
打赏
举报
回复
我是VC++的初学者,老师却给我们出了道难题:
局域网内的点对点文件传输实现。
要求:机器的寻址原理,文件的传输原理,怎么进行文件的完整传输问题,验证方式如何,算法原理说明,包括文件的分割等,使用什么协议,使用的组件是什么,自定义的组件类的说明。
语言要求:VC++
请高手大哥帮帮忙,小弟万分感谢!
ben_na
2005-05-27
打赏
举报
回复
JAVA编写网络很方便的,看看相应的库或例子。还得研究一下简单的多线程哦,如果你需要介面的话
wuyan19831013
2005-05-26
打赏
举报
回复
我还顶!
wuyan19831013
2005-05-25
打赏
举报
回复
我顶!
wuyan19831013
2005-05-25
打赏
举报
回复
我再顶~!
python
点对点
传输文件_
点对点
文件传输
import
java
.awt.*;import
java
.awt.event.*;import
java
.net.*;import
java
x.swing.*;public class MainFrame extends JFrame implements ActionListener{private JButton sendFileBtn;private JButton exitBtn;pri...
java
socket
点对点
_
java
Socket
点对点
实现
文件传输
伟哥是学C++的,昨天做
java
老师布置的大作业,让他们做
一个
文件传输
的程序,多线程
实现
,伟哥很是无语啊,然而他并没有学过太多
java
,虽然伟哥在我心中是个大神(计算机大神啊,面过了tecent,啧啧),所以找到我帮忙,于是我看了看就想到了前几天刚做的
一个
http服务器,说白了底层都是使用socket
实现
的,所以哗啦啦,没有使用异步IO的情况下,用最初的socket写出了多线程的server和cl...
java
p2p
文件传输
_P2P
文件传输
软件
的设计与
实现
摘要:本系统是在深入了解P2P技术和
JAVA
实现
平台的基础上,设计
实现
的基于
JAVA
的P2P
文件传输
软件
,在局域网内
实现
点对点
的
文件传输
功能。本系统的优点是在
一个
网络内每个Windows平台的客户机只需要同时安装了这款
软件
,即可
实现
相互
文件传输
和简易聊天。关键词:P2P;
JAVA
;
文件传输
中图分类号:TP311.52 文献标识码:A文章编号:1007-9599 (2011) 10-0000-01P...
Java
swing
实现
简单的C/S聊天及
文件传输
系统
很久没写博客了,这个本为课程设计,忙完了便抽空出来与大家分享一下,以便指正错误。 1、设计
一个
简单的聊天室程序。采用客户/服务器模式,分为客户端程序和服务器端程序。由于服务器只能支持
一个
客户,实际上是
一个
点对点
通信的程序。客户端程序和服务器程序通过网络交换聊天字符串内容,并在窗口的列表框中显示。同时,
实现
了
文件传输
系统。 2、程序主界面(包含服务器端和客户端)。 3、先后点击
JAVA
使用Socket
实现
多人通讯以及
文件传输
这篇文章将使用
java
的socket通讯完成
一个
多人聊天以及
文件传输
的例子。这里例子中聊天和
文件传输
可以同时进行。 当然两者都是基于TCP协议的,因为无论是聊天还是
文件传输
要保证数据的完整性,如果是使用UDP,数据传输将会不可靠。 至于两者的区别也就不多说了,不懂得稍微百度一下咯。 基于socket通讯的知识在大学的时候学过了,那时是使用c/c++语言完成的,
实现
起来要比
java
稍微
Java SE
62,622
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章