发送方:
dim PixGet(8000) as Byte
Winsock1.SendData PixGet
接受方:
dim PixGet() as Byet
Winsock1.GetData PixGet代码我就简化过了,问题是PixGet有时就接受到8000个,有时就7999呢?
掉包了?应该如何解决呢?
dim PixGet(8000) as Byte
Winsock1.SendData PixGet
接受方:
dim PixGet() as Byet
Winsock1.GetData PixGet代码我就简化过了,问题是PixGet有时就接受到8000个,有时就7999呢?
掉包了?应该如何解决呢?
你两端都在一个机子上测试吧,这还好些。
你采用的是什么协议不知道,猜想大概是UDP协议。
当你放入真正的互联网中可能丢得还会多些,问题就是8K一个数据包有点偏大,当你发送出去时,再加上包头包尾就远不止8K了,在经过路由器时可能会自动分包,所以你要注意分包和拼包问题。
建议你人工用程序分包以不大于4K一个包为好,然后一个包一个包的发,中间做适当延时,到接收方再人工做程序拼包。
A:XXIU*@U(UD(#WQN*(WUD(*UW#(MUD(*WE B:......(不出声,接收字节,直到收完8000字节)
B:接收到了8000字节,其CRC32为XXXXXXXX,正确.
A:了解,退出数据发送状态. B:了解,断开.
多次SendData可能被合并成一次GetData,一次SendData可能被分成多次GetData!