VTCP14.01 for windows开源

基于UDP的数据传输协议(Virtual Transmission Control Protocol,简称VTCP)是一种互联网数据传输协议。VTCP的主要目的是支持高速广域网上的海量数据传输,而互联网上的标准数据传输协议TCP在高带宽长距离网络上性能很差。 顾名思义,VTCP建于UDP之上,并引入新的拥塞控制和数据可靠性控制机制。VTCP是面向连接的双向的应用层协议。它同时支持可靠的数据流传输和部分可靠的数据报传输。 由于VTCP完全在UDP上实现,它也可以应用在除了高速数据传输之外的其它应用领域,例如点到点技术(P2P),防火墙穿透,多媒体数据传输等等。

VTCP 14.01 已发展为跨平台构架
支持系统如下
windows
mac
linux/unix
andriod
VTCP API 列表
#ifdef WIN32
#define VTCP_EXPORT_API(t) t WINAPI
#else
#define VTCP_EXPORT_API(t) extern “C” t
#endif
VTCP_EXPORT_API(VTCP_SOCKET )vtcp_accept (VTCP_SOCKET s, sockaddr * sai, socklen_t * sailen);
VTCP_EXPORT_API(int )vtcp_bind (VTCP_SOCKET s, const struct sockaddr * sai, socklen_t sailen);
VTCP_EXPORT_API(int )vtcp_cleanup ();
VTCP_EXPORT_API(int )vtcp_close (VTCP_SOCKET s);
VTCP_EXPORT_API(int )vtcp_connect (VTCP_SOCKET s, const struct sockaddr * sai, socklen_t sailen);
VTCP_EXPORT_API(int )vtcp_ctl (VTCP_SOCKET s, EVTcpCtl ctl,unsigned long * p);
VTCP_EXPORT_API(int )vtcp_geterror ();
VTCP_EXPORT_API(int )vtcp_getsockname (VTCP_SOCKET s, struct sockaddr * sai, socklen_t * sailen);
VTCP_EXPORT_API(int )vtcp_getpeername (VTCP_SOCKET s, struct sockaddr * sai, socklen_t * sailen);
VTCP_EXPORT_API(int )vtcp_listen (VTCP_SOCKET s, int backlog);
VTCP_EXPORT_API(int )vtcp_recv (VTCP_SOCKET s, char * buffer, int cb, int flag);
VTCP_EXPORT_API(int )vtcp_recvfrom (VTCP_SOCKET s, char * buffer, int cb, int flag, struct sockaddr * from, socklen_t * fromlen);
VTCP_EXPORT_API(int )vtcp_send (VTCP_SOCKET s, char * buffer, int cb, int flag);
VTCP_EXPORT_API(int )vtcp_sendto (VTCP_SOCKET s, char * buffer, int cb, int flag, const struct sockaddr * to, socklen_t tolen);
VTCP_EXPORT_API(int )vtcp_getsockopt (VTCP_SOCKET s, int level, int optname, char * optval, int * optlen);
VTCP_EXPORT_API(int )vtcp_setsockopt (VTCP_SOCKET s, int level, int optname, char * optval, int optlen);
VTCP_EXPORT_API(int )vtcp_select (SVTcpFdSet * fdr, SVTcpFdSet * fdw, SVTcpFdSet * fde, const struct timeval * to);
VTCP_EXPORT_API(VTCP_SOCKET )vtcp_socket (int af, int itype, int protocol);
VTCP_EXPORT_API(VTCP_SOCKET )vtcp_socketshare (VTCP_SOCKET s);
VTCP_EXPORT_API(int )vtcp_startup ();
VTCP_EXPORT_API(VTCP_QIO_HANDLE )vtcp_qio_create ();
VTCP_EXPORT_API(int )vtcp_qio_post (VTCP_QIO_HANDLE qio, VTCP_SOCKET s, EVTcpQIOEvent qio_event, void * qio_data, int qio_error);
VTCP_EXPORT_API(int )vtcp_qio_get (VTCP_QIO_HANDLE qio, VTCP_SOCKET * s, EVTcpQIOEvent * qio_event, void ** qio_data, int * qio_error, unsigned long timeout);
VTCP_EXPORT_API(int )vtcp_qio_set (VTCP_QIO_HANDLE qio, VTCP_SOCKET s, EVTcpQIOEvent qio_event, void * qio_data);
VTCP_EXPORT_API(int )vtcp_qio_close (VTCP_QIO_HANDLE qio);

赞(1)