vb6中winsock的溢出问题

vb6中winsock的溢出问题,vb6,winsock,Vb6,Winsock,我已经建立了一个使用“Winsock”工具的简单项目 当我收到任何数据时,我把它放在变量中,因为我不能把它放在文本框中,因为 它是一个文件而不是一个文本 但是如果我发送一个大文件,它会给我一个错误 “溢出” 有没有办法解决此问题?在发送更多数据之前,是否正确处理SendComplete事件 否则,WinSock控件将导致缓冲区溢出 VB可变长度字符串在理论上只能是2GB大小,它的实际最大大小取决于可用的虚拟内存,整个应用程序的虚拟内存也限制为2GB。但是由于VB以unicode格式存储字符串,这

我已经建立了一个使用“Winsock”工具的简单项目

当我收到任何数据时,我把它放在变量中,因为我不能把它放在文本框中,因为 它是一个文件而不是一个文本

但是如果我发送一个大文件,它会给我一个错误

“溢出”


有没有办法解决此问题?

在发送更多数据之前,是否正确处理SendComplete事件

否则,WinSock控件将导致缓冲区溢出

VB可变长度字符串在理论上只能是2GB大小,它的实际最大大小取决于可用的虚拟内存,整个应用程序的虚拟内存也限制为2GB。但是由于VB以unicode格式存储字符串,这意味着它只能包含1GB的文本

()


如果这是您的问题,请尝试将传入数据拆分为多个字符串。

您需要将数据拆分为较小的数据包(每个数据包大约2-5k),并单独发送每个数据包,然后在另一端重新构造数据包。您可以在数据的末尾添加一个唯一字符,以便接收端知道该传输的所有数据都已收到,例如
Chr(0)


对于这个问题,这是一个非常简单的解决方案-更好的方法是设计一个简单的数据握手协议,以便您知道每个数据包都已收到。

实际上,我正在使用vb6创建代理服务器。所以,我处理的是站点的服务器。发送或接收数据时是否会出现溢出?