VTCP 10.X

支持开发语言: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客户端源代码

 

 

 

全部历史版本

VTCP10.0 下载

VTCP9.0 下载

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_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)




评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值