RDP(Reliable--UDP)Library--可靠UDP传输实现方案 - 缘分天空的日志 - 网易博客

本文主要是介绍RDP(Reliable--UDP)Library--可靠UDP传输实现方案 - 缘分天空的日志 - 网易博客,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

思想的小鱼

非生而知之者,孰能无惑?惑而不从师,其为惑也,终不解

2011-07-08 17:46:10|  分类: 学习*路 |  标签:

此文由原创,转载请注明出处。

(全文下载)https://p-blog.csdn.net/images/p_blog_csdn_net/nunixblog/EntryImages/20081015/rdp.pdf.jpg (另存为pdf格式)

一、           实现背景

       在P2P产品实现中,NAT穿透是已经是很普遍的技术,其中UDP协议穿透又因其较高的成功率成为实现时的首选方案。然而由于UDP协议本身有传输不可靠的缺点,于是基于UDP协议的可靠通信就成为众多P2P产品实施的关键。

       目前有一些开源库例如UDT、RUDP、RakNet、eNet等都是基于UDP协议的可靠通信开发库。然而这些库在应用中都有着各种各样的不足之处,比如大量数据传输效率不高、都未提供穿越proxy代理功能,或者对NAT穿透技术有的支持不全面。

二、           RDP开发库简介

       RDP(Reliable--UDP)Library是一个基于UDP/IP协议的可靠网络通信库。RDP的设计原理参考TCP协议,使得应用程序能够在UDP层获得类似TCP的通用、可靠的数据传输能力。

       RDP以源码或DLL形式提供一组简单、通用的应用程序接口(RDPSocket API)函数,用于第三方应用程序开发。RDPSocket API采用C++语言实现,支持Windows / Linux /Unix等多种系统平台,支持IPV4 / IPV6的网络环境。

三、           RDP协议

       1.协议格式

RDP标志(12位:0x888)

包类型(4位)

窗口大小(16位)

Socket ID (32位)

SEQ Number

ACK Number

。。。数据。。。

字段含义如下:

   RDP标志:标志RDP包,固定是 0x888。

这篇关于RDP(Reliable--UDP)Library--可靠UDP传输实现方案 - 缘分天空的日志 - 网易博客的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/707795

相关文章

利用Python实现时间序列动量策略

《利用Python实现时间序列动量策略》时间序列动量策略作为量化交易领域中最为持久且被深入研究的策略类型之一,其核心理念相对简明:对于显示上升趋势的资产建立多头头寸,对于呈现下降趋势的资产建立空头头寸... 目录引言传统策略面临的风险管理挑战波动率调整机制:实现风险标准化策略实施的技术细节波动率调整的战略价

使用Python和Tkinter实现html标签去除工具

《使用Python和Tkinter实现html标签去除工具》本文介绍用Python和Tkinter开发的HTML标签去除工具,支持去除HTML标签、转义实体并输出纯文本,提供图形界面操作及复制功能,需... 目录html 标签去除工具功能介绍创作过程1. 技术选型2. 核心实现逻辑3. 用户体验增强如何运行

SpringBoot实现Kafka动态反序列化的完整代码

《SpringBoot实现Kafka动态反序列化的完整代码》在分布式系统中,Kafka作为高吞吐量的消息队列,常常需要处理来自不同主题(Topic)的异构数据,不同的业务场景可能要求对同一消费者组内的... 目录引言一、问题背景1.1 动态反序列化的需求1.2 常见问题二、动态反序列化的核心方案2.1 ht

Python实现文件批量重命名器

《Python实现文件批量重命名器》在日常工作和学习中,我们经常需要对大量文件进行重命名操作,本文将介绍一个使用Python开发的文件批量重命名工具,提供了多种重命名模式,有需要的小伙伴可以了解下... 目录前言功能特点模块化设计1.目录路径获取模块2.文件列表获取模块3.重命名模式选择模块4.序列号参数配

golang实现延迟队列(delay queue)的两种实现

《golang实现延迟队列(delayqueue)的两种实现》本文主要介绍了golang实现延迟队列(delayqueue)的两种实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录1 延迟队列:邮件提醒、订单自动取消2 实现2.1 simplChina编程e简单版:go自带的time

Python使用python-docx实现自动化处理Word文档

《Python使用python-docx实现自动化处理Word文档》这篇文章主要为大家展示了Python如何通过代码实现段落样式复制,HTML表格转Word表格以及动态生成可定制化模板的功能,感兴趣的... 目录一、引言二、核心功能模块解析1. 段落样式与图片复制2. html表格转Word表格3. 模板生

SpringBoot实现多环境配置文件切换

《SpringBoot实现多环境配置文件切换》这篇文章主要为大家详细介绍了如何使用SpringBoot实现多环境配置文件切换功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 示例代码结构2. pom文件3. application文件4. application-dev文

Python FastAPI实现JWT校验的完整指南

《PythonFastAPI实现JWT校验的完整指南》在现代Web开发中,构建安全的API接口是开发者必须面对的核心挑战之一,本文将深入探讨如何基于FastAPI实现JWT(JSONWebToken... 目录一、JWT认证的核心原理二、项目初始化与环境配置三、安全密码处理机制四、JWT令牌的生成与验证五、

Python使用Turtle实现精确计时工具

《Python使用Turtle实现精确计时工具》这篇文章主要为大家详细介绍了Python如何使用Turtle实现精确计时工具,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录功能特点使用方法程序架构设计代码详解窗口和画笔创建时间和状态显示更新计时器控制逻辑计时器重置功能事件

Linux给磁盘扩容(LVM方式)的方法实现

《Linux给磁盘扩容(LVM方式)的方法实现》本文主要介绍了Linux给磁盘扩容(LVM方式)的方法实现,涵盖PV/VG/LV概念及操作步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录1 概念2 实战2.1 相关基础命令2.2 开始给LVM扩容2.3 总结最近测试性能,在本地打数据时,发现磁盘空