VTCP SDK下载 (支持P2P)

支持开发语言:C++, Pas(delphi), 动态连接库形式,OS: windows all

 

关于VTCP

VTCP是虚拟TCP协议缩写,它实现了UDP可开传输,UDP本来是一种不可靠的网络协议,但在有些情况下UDP协议可能会变得非常有用。因为UDP具有TCP所望尘莫及的速度优势。虽然TCP协议中植入了各种安全保障功能,但是在实际执行的过程中会占用大量的系统开销,无疑使速度受到严重的影响。反观UDP由于排除了信息可靠传递机制,将安全和排序等功能移交给上层应用来完成,极大降低了执行时间,使速度得到了保证。因此我们设计出了一种新的可靠UDP协议(VTCP),自动实现UDP数据传输的可靠性。

 

VTCP 性能测试

 

1.       VTCP 本机传输速度取决于 CPU效率,双核2.80GHZ CPU 传输速度是单包大小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采用了改进的慢启动(Slow Start)算法,增加了基于对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模型。

层次结构

 

VTCP SOCKET 对象层次

系统结构

 

 

VTCP API 使用要点

 

1.         VTCP所有API返回都是整形数(int),如果返回为0,代表函数执行成功,反之代表错误代码,等同于使用GetLastError/WSAGetLastError过后得到Windows标准错误代码。

2.         VTCP初始化函数 vtcp_startup(…) 如同WSAStartup(…)一样,在使用其他VTCP API之前,必须先调用这个函数;

 

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客户端源代码

 

 

 

全部历史版本

VTCP11.0 下载

VTCP10.0 下载

VTCP9.0 下载

VTCP8.0 下载
VTCP7.0 下载
VTCP6.0 下载
VTCP5.0 下载
VTCP4.0 下载
VTCP3.0 下载
VTCP2.0 下载
VTCP1.0 下载

相关源代码下载


VTCP 文件传输测试器源代码

VTCP聊天室服务端源代码(即将提供)(IOCP模型)
VTCP 阻塞模式客户端源代码
VTCP 异步模式服务端源代码(
完成例程模型+阻塞式多线程服务)

VTCP P2P 服务端源代码

 

函数速查手册

 

vtcp_accept

vtcp_acceptex

vtcp_bind

vtcp_cancel

vtcp_cleanup

vtcp_closesocket

vtcp_connect

vtcp_connectex

vtcp_getpeername

vtcp_getoverlapresult

vtcp_getsockopt

vtcp_getsockname

vtcp_io_recv_packet

vtcp_io_recv_packet_ex

vtcp_io_send_packet

vtcp_io_send_packet_ex

vtcp_io_set_hook_for_recv_packet

vtcp_io_set_hook_for_send_packet

vtcp_io_set_packet_hdr

vtcp_iocp

vtcp_listen

vtcp_recv

vtcp_recvex

vtcp_send

vtcp_sendex

vtcp_setsockopt

vtcp_socket

vtcp_socket_share

vtcp_startup

 

 

比较与参考

1.       RDUP协议全称 Reliable UDP RFC908 1151

2.       UDT软件(开源)

3.       UDX 软件(不开源)

4.       AIMD拥塞控制

5.       TCP Slow Start 拥塞控制

6.       SACK 技术

 

 

QQ讨论群(151862355)