支持开发语言:C++,Pas(delphi), 动态连接库形式,OS:windows all
关于VTCP
VTCP是虚拟TCP协议缩写,它实现了UDP可开传输,UDP本来是一种不可靠的网络协议,但在有些情况下UDP协议可能会变得非常有用。因为UDP具有TCP所望尘莫及的速度优势。虽然TCP协议中植入了各种安全保障功能,但是在实际执行的过程中会占用大量的系统开销,无疑使速度受到严重的影响。反观UDP由于排除了信息可靠传递机制,将安全和排序等功能移交给上层应用来完成,极大降低了执行时间,使速度得到了保证。因此我们设计出了一种新的可靠UDP协议(VTCP),自动实现UDP数据传输的可靠性。
VTCP 性能测试
1. VTCP 本机传输速度取决于 CPU效率,双核2.80GHZCPU 传输速度是单包大小1K,速度66MB/s ,单包大小4K,速度152MB/s,单包大小16K,速度350MB/s
2. VTCP 局域网传输速度10MB/S双向同时传输20MB /s,达到物理极限。
3. VTCP ADSL 56KB/s 上传极限可达到54KB以上非常接近物理极限速度。
4. VTCP ADSL 512KB/s 下行带宽可达到480KB/s 以理想速度。
5. VTCP光钎512KB/s上行下行都可以达到480KB /s以上理想速度。
6. VTCP在丢包环境下速度比TCP快得多,一般是10倍以上。
7. VTCP在低速网络与高速网络同样表现出众。
8. VTCP 拥有良好的WIFI 无线环境支持能力。
VTCP相关技术
1. VTCP采用了改进的慢启动(SlowStart)算法,增加了基于对RTT变化,快速重传,预测网络最佳传输窗口。
2. VTCP采用了SACK技术与快速重传算法,快速恢复算法。
3. VTCP采用以自适应基础的随机摇摆[专利]算法(Random Sway),确定当前网络的最佳传输位置。
4. VTCP采用了改进性的拥塞控制算法。
5. VTCP采用了多连接同时传输,平衡带宽算法,最大限度保持传输公平性。
VTCP 特点
1. 启动速度快,迅速达到传输理想速度。
2. 适应能力强,随网络状态改变而快速反应。
3. 多条连接传输公平性好。
4. 竞争性合理,能与各种网络协议和平相处。
说一句废话
VTCP从学习,到尝试,到提高,到比较,到超越,走了过三个年头了,今天终于看了胜利的曙光,我们十分兴奋。
设计理念
VTCP采用WINSOCK 编程模型,假定用户很熟练WINSOCK 编程,那么掌握VTCP编程基本上不需要花额外的时间,直接熟悉 VTCP API使用要点与API参数即可,大多数VTCP API都与类型的WINSOCK API参数相同,有的更为简单;VTCP支持4中基本的WINSOCK编程模型:
1. 阻塞模式
2. 异步重叠I/O
3. 异步完成例程
4. 异步完成端口(IOCP)
VTCP不支持WSAAsyncSelect/WSAEventSelect/select模型。
层次结构
VTCPSOCKET 对象层次
系统结构
VTCP API 使用要点
1. VTCP所有API返回都是整形数(int),如果返回为0,代表函数执行成功,反之代表错误代码,等同于使用GetLastError/WSAGetLastError过后得到Windows标准错误代码。
2. VTCP初始化函数 vtcp_startup(…)如同WSAStartup(…)一样,在使用其他VTCP API之前,必须先调用这个函数;
3. VTCP有2种VTCP_SOCKET句柄(VTCP_CLASS_CVSocketExListen/ VTCP_CLASS_CVSocketExConnect),所以创建VTCP_SOCKET 句柄的函数稍微要复杂一些;
VTCP直接IO支持
1. vtcp_io_send_packet() 直接发送UDP数据包
2. vtcp_io_send_packet_ex()直接发送UDP数据包(异步支持)
3. vtcp_io_recv_packet() 直接接收UDP数据包
4. vtcp_io_recv_packet_ex()直接接收UDP数据包(异步支持)
5. vtcp_io_set_hook_for_send_packet()挂接处理VTCP发出的所有包,实现数据加密,过滤等
6. vtcp_io_set_hook_for_recv_packet()挂接处理VTCP收到的所有包,实现数据解密,过滤等。
VTCP P2P支持(直接IO模式实现)
1. P2P服务器和中转服务器与VTCP构架无关,仅仅是UDP独立应用,请参考P2P服务端源代码
2. P2P 客户端通过直接IO实现,请参考P2P客户端源代码
全部历史版本
VTCP8.0下载
VTCP7.0下载
VTCP6.0下载
VTCP5.0下载
VTCP4.0下载
VTCP3.0下载
VTCP2.0下载
VTCP1.0下载
相关源代码下载
VTCP 文件传输测试器源代码
VTCP 阻塞模式客户端源代码
VTCP 异步模式服务端源代码(完成例程模型+阻塞式多线程服务)
VTCP聊天室服务端源代码(即将提供)(IOCP模型)
VTCP聊天室客户端源代码(即将提供)
VTCP P2P 服务端源代码
函数速查手册
vtcp_io_set_hook_for_recv_packet
vtcp_io_set_hook_for_send_packet
比较与参考
1. RDUP协议全称Reliable UDP ,RFC908 和1151
2. UDT软件(开源)
3. UDX 软件(不开源)
4. AIMD拥塞控制
5. TCP Slow Start 拥塞控制
6. SACK 技术
QQ讨论群(151862355)