我的程序得到几个字符串数据和一个图片后,就要马上通过winsock 发送给别的电脑.
    我是这样想的,先把图片以二进制数组的形式发出去,然后延时个0.5秒,再把几个字符串以字符串数组的形式发出去.
    但是我有几点不明白:
    1.在数据接收端应该怎么接收?(单独接收图片或字符串我会,但是一起我就不知道了)
    2.由于两个数据差不多同时发出去,会不会相互之间有影响!
    3.我的图片大概是10K左右,不知道一次可不可以传完.(winsock一次最多可以发多少K的数据?)
我很少用winsock,主要是做数据库的,现在需要用winsock发几个数据,没办法啊!只有到这来求教了!请赐教!!!!!!!!!!!

解决方案 »

  1.   

    不用 延时0.5 秒  其实网络是不稳定的 可能 过了0。5秒前面的包还没发出去正确解决办法 自己定义一个格式 譬如 使用 &H000000 来分隔 你的图片和 字符 (不过要使用strconv把字符转化为二进制)然后一起发送 而且 每个包 的头几个字节为这个包的长度
      

  2.   

    延时是没有用的,要不你就用点头的办法,但是如果是tcp协议的话就不要考虑包头的问题,因为tcp协议会自动找包。也要注意,socket 1个包是8k
    其实我自己是建议你用2个socket传,这样什么问题都没有了,。
      

  3.   

    那怎样拆成一个一个的包? 拆了以后又怎么合呢?
    我做的都是文本数据(ASCII码)根本没有考虑其大小。有多少,就发多少!
    我想我这种方法肯定是有局限性的。