社区
网络编程
帖子详情
怎么实现基于UDP的P2P网络文件传输
haopairs
2013-12-06 10:27:57
已经实现的包穿透和聊天功能,现在需要再加一个功能。
...全文
391
5
打赏
收藏
怎么实现基于UDP的P2P网络文件传输
已经实现的包穿透和聊天功能,现在需要再加一个功能。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
VB
实现
的即时通信与
文件传输
系统
本文介绍了一个
P2P
即时通信平台,使用VB和
UDP
协议,
实现
用户直接通信、好友列表管理、
文件传输
等功能。涉及用户界面设计、
UDP
通信优化、
文件传输
协议及数据校验、
网络
发现与地址解析等关键组件,为开发者提供实践平台,助其理解
网络
通信原理。
基于C#
实现
中央定位服务器的
P2P
网络
聊天系统
本文介绍了基于中央定位服务器的
P2P
网络
聊天系统,使用C#
实现
。涵盖需求分析、模块设计、详细设计等内容,
实现
了登录登出、通讯录维护、
P2P
文字通信、
文件传输
等必做功能,以及群聊、
UDP
文字通信、图片传输显示等选做功能,还分析了结果、问题及解决方案。
基于Qt的
P2P
局域网聊天及文件传送软件设计
本文分享了一个利用Qt框架
实现
的
P2P
局域网聊天及文件传送软件设计,重点介绍了使用Qt的
网络
通信接口进行TCP/IP与
UDP
通信,
实现
客户端与服务器之间的聊天与
文件传输
功能。
dae全锥形NAT支持:如何
实现
高效的
P2P
通信
本文介绍dae如何利用eBPF技术在Linux系统中
实现
全锥形NAT,从而提升
P2P
通信效率。通过智能拨号模式、
UDP
端点池管理和直接拨号器支持,dae有效改善游戏延迟、
文件传输
速度及
网络
连接可靠性,适用于对高性能
P2P
有需求的应用场景。
文件传输
本文探讨了在iOS和Android设备间
实现
点对点(
P2P
)数据交换的功能,包括
网络
发现机制和
文件传输
流程。重点介绍了使用WiFi作为高效连接方式,并通过
UDP
广播
实现
设备间的
网络
发现。此外,阐述了
文件传输
的具体步骤和注意事项。
网络编程
18,356
社区成员
64,165
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章