现在想做一个客户端跟服务器端进行数据交互的功能,而且传送的数据量比较大(差不多4K左右),请问怎样实现?本想用Winsock控件中SendData方法发送数据,但好像不能!谁有这方面的资料给份给我参考一下!

解决方案 »

  1.   

    用数据库不行吗? 服务器端用mssql数据库,客户端访问
      

  2.   

    winsock控件做C/S结构应该没有问题,4K数据也不算大,在互联网中传输中4K一个包算是最合理的包了。本想用Winsock控件中SendData方法发送数据,但好像不能!
    SendData方法发送数据是没有问题,查看你的程序。参考资料看MSDN中的:
    1)使用 Winsock 控件
    2)Winsock 控件
    --------------------------------------------------------------------------
    另一种方法是安装ms sql server或Oracle等可以直接远程连接的数据库,然后直接连接数据库进行数据交互。
      

  3.   

    关键你要知道,服务器用什么传输协议发送数据(TCP/UDP/FTP/HTTP……)。可以用域名直接连接,也要看协议以及端口。不管做什么程序,你都要先弄清楚基本概念,最起码要知道从哪下手去做。
      

  4.   


    可以  不过再接收的时候要进行判断'给你个代码段吧   先传送长度(这里是gDataLenght),再确认长度传送成功后,发送数据包,知道完全接收完毕
            mvarwskClient.GetData bGetData, vbByte
            If SafeArrayGetDim(gGetData) <> 0 Then
                If UBound(gGetData) = 0 And gGetData(0) = 0 Then
                    gGetData = bGetData
                Else
                    lngLast = UBound(gGetData)                '上次已经接收到的数据总长度
                    lngNow = UBound(bGetData)                   '本次取得的数据长度
                    ReDim Preserve gGetData(lngLast + lngNow + 1)
                    For i = 0 To lngNow
                        gGetData(lngLast + i + 1) = bGetData(i)
                    Next i
                End If
            Else
                gGetData = bGetData
            End If
            If UBound(gGetData) >= gDataLenght Then
                mvarDataType = gDATA_OF_COMMAND
                gRecordSet = StrConv(gGetData, vbUnicode)
                ReDim gGetData(0)
                Erase gGetData
            Else
                Exit Sub
            End If