社区
网络编程
帖子详情
怎么实现基于UDP的P2P网络文件传输
haopairs
2013-12-06 10:27:57
已经实现的包穿透和聊天功能,现在需要再加一个功能。
...全文
295
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
基于
UDP
下的
文件传输
,
P2P
聊天,群聊
该代码,可
实现
局域网内文件的传输,传输与接收速度的计算,同时还能
实现
局域网内的聊天,私聊与群聊
基于
UDP
的
P2P
小Demo (穿透NAT)delphi源码含Server和Client端
具有文字聊天和传文件的功能,没有使用Indy
网络
控件,直接用的WinsockAPI。传文件用的也是
UDP
,还不会TCP穿透的说-_-!,用了简单的重传机制。 请把Server放在公网上,Client放在内网来测试,否则就没有穿透的...
基于C/S模式的
P2P
文件传输
系统 C# 采用
UDP
协议
本项目为
网络
课程设计的作业,采用c#
实现
,使用
UDP
传输协议,在连接时采用TCP连接,拥有客户机和服务器端,客户机登录后能够在服务器端显示登录信息,服务器向该用户发送当前在线用户的ip信息,该用户选择所要发送...
(java版本)
p2p
点对点
文件传输
系统(采用的是
p2p
传输 tcp/ip、
udp
协议均有采用 )
文件传输
系统必须具备资源和条件,是否满足系统目标的要求,在
文件传输
的形式中,以独立的软件进行点对点的
文件传输
。本软件能够点对点的
文件传输
,还能进行即时的通讯。本文档包涵有代码与各种分析测试报告与可行性...
Delphi_IOCP_
UDP
_
P2P
一个经过IOCP优化过的基于
UDP
的
P2P
网络
传输控件,只要加入对方IP和Port可自动打洞,
实现
P2P
。可发送文字、内存流、文件。具有事件回调功能(包括发送成功,发送丢失、发送无回应(失败)、发送有应答)。-
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章