如何用senddata传输integer型数组呢?如果将integer型数组变为byte型的,每个integer需要转换成2个byte型的数据,我实验过,效果不好,有时在恢复成integer型时有时出错。我要传输的数据比较多,而且多是整型的。若将他们变成string型来处理,则接收端很难分离出来并恢复原来的integer型数据。
难道VB的winsock只支持string和字节数组的网络传输么?请大家指教。

解决方案 »

  1.   

    把数据打包吧,每个包长度固定,校验固定,数据规律固定,类似TCP/IP.
      

  2.   

    倒~无论什么语言的socket你都不能直接传Integer吧.....最后都是转成byte的...
      

  3.   

    有时出错是因为你的接收方法有问题,网络环境不同,每个IP包的大小也不同,所以一次发送的一串数据并不一定只产生一次DataArrival事件,可能分成两部分若更多部分,若你在每次DataArrival事件时都直接用integer型数组接收,那当某个Integer两字节被分在前后两个包中,你的数据必然会出错。所以网络发送与接收应有一个约定,若定长或有个头部信息,告诉接收端怎么收,收多少字节可以处理或转换。总之,你要做好分段接收的准备。
      

  4.   

    用CopyMemory   把Integer数组  转换成byte()