发布一个网络收发DLL,扔掉VB自带的Winsock吧
最近做视频传输项目,碰到大数据量的传输问题,vb自带的控件效率太低了,因此自己做了一个dll,直接在vb中使用,不需要注册控件,免费。
传输测试:
样本:7976kb的数据
VB控件:24kb/s、34kb/s
我的dll:80kb/s、95kb/s
明显高于原有的,本来还有一个方案,测试中最高可以达到123kb/s,不过耗费cpu太多最终放弃了。
Public Declare Function Sock_Create Lib "PackSock.dll" (ByRef hPackSock As Long) As Long
Public Declare Function Sock_Destroy Lib "PackSock.dll" (ByRef hPackSock As Long) As Long
Public Declare Function Sock_OpenSock Lib "PackSock.dll" (ByVal hPackSock As Long, ByVal hwnd As Long) As Long
Public Declare Function Sock_Listen Lib "PackSock.dll" (ByVal hPackSock As Long, ByVal Port As Long) As Long
Public Declare Function Sock_Accept Lib "PackSock.dll" (ByVal hPackSock As Long, ByVal hAcceptSock As Long) As Long
Public Declare Function Sock_Close Lib "PackSock.dll" (ByVal hPackSock As Long) As Long
Public Declare Function Sock_Connect Lib "PackSock.dll" (ByVal hPackSock As Long, ByVal ServerName As String, ByVal Port As Long) As Long
Public Declare Function Sock_Send Lib "PackSock.dll" (ByVal hPackSock As Long, ByRef lpData As Byte, ByVal DataLen As Long) As Long
Public Declare Function Sock_GetState Lib "PackSock.dll" (ByVal hPackSock As Long) As Long