社区
网络编程
帖子详情
怎么实现基于UDP的P2P网络文件传输
haopairs
2013-12-06 10:27:57
已经实现的包穿透和聊天功能,现在需要再加一个功能。
...全文
317
5
打赏
收藏
怎么实现基于UDP的P2P网络文件传输
已经实现的包穿透和聊天功能,现在需要再加一个功能。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
要追问请引用回复
2013-12-23
打赏
举报
回复
有几种思路,提供给你: 第一,用UDP实现可靠传输,对于不熟悉TCP和UDP原理的人来说难度不是一般的大。目前有实现好的库可用,比如udt udx vtcp等,不过我并没有找到很顺手的。 第二,针对udp传输文件做专门处理,其中我用过的一个思路如下: 1、发送方将文件大小和文件的一个id发给对方; 2、接收方根据文件大小和id索取文件内容; 3、分成小包按照文件偏移一个包一个包的索取,利用多个端口可以一次发n个请求; 4、超时时间内收不到文件内容的,重新索取; 5、每个包都有自校验机制; 6、整个文件索取到规定大小数据后,结束; 这个方案下功夫做好一点的话也可以达到不错的速率,至少比tcp要快。只是简简单单的实现一下(比如单包同步索取)的话就很难保证效率了,不过只要实现正确的话传输的正确性还是可以保证的。
wanglovec
2013-12-16
打赏
举报
回复
p2p应该是端到端传输, 如果你想一个文件分为N份 从N个人那里分别获取。 那么先先实现从一个人那里获取所要的,最后对文件进行HASH运算 进行校验 ,有错误了再次请求传输。 更多的可以看emule 源码
rsdtt
2013-12-13
打赏
举报
回复
就像2楼说的那样,再加上一个重发的机制
MoreWindows
2013-12-12
打赏
举报
回复
要实现一对一的传输不难。 先发送文件长度,然后分片读取文件,再一个一个发包(序号+文件内容)就可以。 ------------------------- MoreWindows 微软最有价值专家 迅雷大全核心研发人员 百度校园招聘笔试第二名 我的微博:
http://weibo.com/MoreWindows
我的博客:
http://blog.csdn.net/MoreWindows
思考一下
2013-12-12
打赏
举报
回复
推荐你看一下网络编程方面的书,多线程等! up
基于
UDP
,
P2P
的
网络
通信示例
基于
UDP
,
P2P
的通信示例,通过
UDP
打洞技术
实现
,可获取到局域网内机器的对外IP和路由映射IP和端口号,
实现
类似QQ的两个局域网内机器的通信
DELPHI
UDP
P2P
传文件(
UDP
TransFile)源码
DELPHI 写的
UDP
P2P
传输文件源码,从中可以学习到
P2P
、NAT打洞以及
UDP
文件传输
的基本原理。
基于
P2P
网络
的
文件传输
程序
在
P2P
网络
下
实现
文件传输
程序,试试吧!
java文件
p2p
传输_java_
基于JAVA的
P2P
协议的仿真代码程序,可以在IDEA和eclipse等平台上运行
基于
UDP
协议
P2P
通信技术的分析及
实现
基于
UDP
协议
P2P
通信技术的分析及
实现
基于
UDP
协议
P2P
通信技术的分析及
实现
基于
UDP
协议
P2P
通信技术的分析及
实现
网络编程
18,363
社区成员
64,187
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章