多个文件同时下传的问题
下边是我的代码 ClassThread 是一个类,用来处理并发送数据的
我的问题是,当有两个用户连接上来,请求下传不同的文件时,必定有一个用户在收到几百K的字节后,再也收不到,即客户端发过来的数据服务器端没有回应(不知道是不是丢了,但每次也就16个字节的数据,应该不至于丢吧)
如何解决多用户能同时稳定的下传文件?(文件大小为50M左右)
Private Sub Winsock1_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim i As Long
Dim s As String
Dim bBuf() As Byte
Dim pData As Long
If bytesTotal < 16 Then Exit Sub
Dim a As ClassThread
On Error GoTo Deal:
Set a = nClassThread(Index)
Do
Winsock1(Index).GetData bBuf, vbByte, 16
pData = pData + 16
CopyMemory ByVal a.BufAdd, bBuf(0), 16 ‘自定义结构大小为16个字节
If bBuf(1) = 255 Then
Winsock1(Index).GetData s, , 256
pData = pData + 256
a.FileName = Left(s, InStr(1, LCase(s), ".mp4") + 4)
End If
a.CTIndex = CLng(Index)
a.BufLength = bytesTotal
a.BeginRun Winsock1(Index)
Loop Until pData >= bytesTotal
Exit Sub
Deal:
i = FreeFile
Open "err.txt" For Append As #i
Print #i, Now, Err.Description, Winsock1(Index).Tag, Index, i, nSocketCMD(Index).nDate, "Winsock1_DataArrival"
Close #i
Err.Clear
End Sub