(原创)
这两天打算用UDP传输文件的 test,下午大概测试了一下,可以实现两台计算机之间的UDP传输.但还有些小问题,估计明天再调试一下,UDP这块就告一段落了.
主要思想步骤如下:
1.假如现在有两个类,一个叫FileSender, 另一个类叫FileAccepter(接收文件),
当FileSender要传送给FileAccepter文件时,他首先发一个信息包(MyPakcet),里面包含着文件信息如文件大小,FileAccepter收到就弹出对话框访问用户是否接受文件,当FileAccepter点击接收文件之后,FileAccepter端就开始发出一个(MyPakcet)包,表示响应并且接受文件的接收.这时假定FileSender接收到响应,然后两者就开始建立连接.
FileSender专门启一个线程发数据包,而FileAccepter专门启一个线程在接收数据包.
它们之间传送的数据包用MyPacket;
下面看看个人定义的MyPakcet数据包:
MyPacket{
private int type;//消息类型
private Datable datable;//消息内容,它是一个抽象类,任何消息类型都是它的子类,包括传输文件的数据包
}
传输文件的数据包定义如下:
FileData extends Datable implements Serializable{
public static final long SerializationUID = 20071010L;//
private byte[] data;//数据
//此类还有两个转换方法分别是将byte[]转换为MyPacket对象,和MyPacket转换为byte[]
// 大家可以自己去实现
public static MyPacket getMyPacket(byte[]){
}
public static byte[] getByteArray(MyPakcet m){
}
}
传输文件时,文件信息包如下:
FileInfoData extends Datable implements Serializable{
......
//文件信息
private String fileName;
private int count;//文件分成几块
private long length;//文件的大小
}
上面所写的这两个类FileInfoData和FileData都是Datable的子类,
当我们发送数据时都是以包MyPakcet封装在DatagramPacket里发送出去的,接收时同样又把收到的byte[]还原成MyPakcet对象.这样就可以实现相互之间的通信.
希望以上这些能对那些初入UDP的学者能有点帮助.
分享到:
相关推荐
基于UDP传输协议的包丢失和失序处理的一篇论文
MFC编写的C++语言基于UDP传输协议的类似QQ的聊天程序,
基于UDP传输控制协议和GUI开发的聊天窗口程序,可以启动多次main程序,实现一个IP地址,多个监听口。有聊天窗口,方便使用
1、java socket 2、UDP传输协议 3、json数据格式 4、简易聊天室程序实现
基于c++的udp传输,传送超过10M的文件。完成服务端和客户端之间的传输
支持点到点可靠文件传输(基于UDP协议); 存储在服务器端的数据需要进行强加密; 支持不少于两组用户同时在线交流和传输文件; 文件传输具有良好的性能,能够充分利用网路带宽; 人机交互友好,软件易用性强。
pdf格式,在网络中,包的传递时延是随机的,对此时延进行仿真,很有意义
基于UDP编程的简易考试系统,该程序的服务端先从文件中获取题目与答案,再通过UDP传输到客户端,答题完后会统计答题的总题数与答对的题数。题目文件也在压缩包中。
从网上下完get和set程序之后是不能够直接用的,需要按照要求配置一下native协议,这样flightgear才能够通过udp收发数据,网上关于flightgear的资料特别少,我也是搞了好几天才弄明白协议怎么配置,都在文档里啦
结合网络编程的C语言源码,实现了基于UDP传输的传输数据系统,可跨主机使用。
本资源是基于 UDP 协议与 OpenCV 库实现网络视频传输的实现代码,使用 Python 语言实现,分为服务器端和客户端两个文件,启动前需要修改 host IP 地址为实际的 IP 地址,同时需注意先运行服务器端代码,再运行客户端...
基于UDP传输的语音传输,采用windows低级音频API实现
网络程序设计-基于UDP的文件传输,广西科技大学。
实现了android 在udp的应用,比较好的资料
udt,一种基于udp协议的可靠文件传输协议
实现简单的基于udp的文件传输,代码比较简单易懂,传输方面比较不怎么完善,还请原谅
基于UDP的数据传输与基于TCP的简易聊天,通俗易懂,开启网络编程之路。
基于UDP的可靠传输代码,包括一个客户端和一个服务端。
UDP传输的优点是快捷,因为它是没有安全保证的。有一定的丢失率。而且,由于各包的传输路径不同,后发送的包可能先于先发送的包到达。所以,如果发送大量的数据,就需要进行检错。当然,还得保证快捷的传输。 我就是...
UDT网络传输协议开源包,是基于UDP的可靠传输协议,UDP访TCP