是不是和缓存大小有关?
如何控制缓存的大小呢?

解决方案 »

  1.   

    winsock确实有限制
    最大的数据包为4.096K
    但决不是60个字节
      

  2.   

    Private Sub Timer1_Timer()
        Dim a, a1 As String
        Dim i, j, z, k As Integer
        Dim tempS, b
        
        a = CheckDb    If a <> "" Then
            tempS = Split(a, SplitC)
            For j = LBound(tempS) To UBound(tempS)
                If Trim(tempS(j)) <> "" Then
                    b = Split(tempS(j), ",")
                    For i = 0 To MaxSocket
                        If sendBuffer(i) = "" Then
                            sendBuffer(i) = CStr(b(1))
                            Winsock1(i).Connect
                            clearDb CInt(b(0))
                            Exit For
                        End If
                    Next
                End If
            Next
        Else
            addLog "[" & Now & "]" & vbCrLf & "没有新的点播记录"
        End If
    End SubFunction CheckDb() As String
        Dim rs As New ADODB.Recordset
        Dim b
        
        CheckDb = ""
        b = Split(fieldIndex, ",")
        
        rs.Open "select * from MobileUser where substatus = 0", DBConnection
        Do While Not (rs.EOF Or rs.BOF)
         CheckDb = CheckDb & Trim(rs.Fields(0)) & ",1" & Trim(rs.Fields(1)) & Trim(rs.Fields(2)) 
    rs.MoveNext
        Loop
        rs.Close  
    End Function
      

  3.   

    是不是字符串含有字符串结束标志?VB的Winsock没用过,只在VC下用过,但你说的60个字符的限制肯定不应存在。