我为了用winsock传输图片,在Client端将图片用picturebox的point方法把每个点的RGB值读出来,再将其通过senddata发送,在sever端再将其写入picturebox。
可是我发现sever端只收到了几十个点就开始乱了,收数据的速度远跟不上发的速度,有人说这是DataArrival事件没及时触发造成的,请问高手我该怎么办?

解决方案 »

  1.   

    不是的,是因为winsock一次传递只能是小于8k的数据
    大于8k你得拆开传啊
      

  2.   

    当你传递点数据的过程中没有时间间隔的话,WINSOCK会把它们合并在一起。有可能几个点数据合并后你的数据就开始乱了。
    比如,在一个如下的循环中发送数据
      Do While Not tmpRst.EOF
        MyrecId = tmpRst.Fields("ID")
        wskServer(iMax).SendData tmpRst.Fields("FMessage")
        tmpRst.MoveNext
      Loop
    在接收方收到的数据是几个记录连接在一起的。仅供参考。