ljj2003120 发表于 2008-10-22 10:25:23

读取TCP数据时,一般有两个TCP读取,那么第一个读取中读取的字节数必须是4么?

读取TCP数据时,一般有两个TCP读取,那么第一个读取中读取的字节数必须是4么?我试了改成其它数字都报错了,怎么也想不通,不知道4是什么意思?请各位给予指点,谢谢了,下面我给出了例子的图片,是LABVIEW自带的例子。

[ 本帖最后由 ljj2003120 于 2008-10-22 10:26 编辑 ]

teddy815 发表于 2008-10-22 11:55:17

这是由于一般需要首先获取传输的数据所占的大小,如果不获取的话,那么在TCP/IP 的Read函数中到底需要获取多少个字节呢?因此往往在传输TCP时先传输数据的字节数,再传输数据。对应的接收时就先接收传输的数据的大小,再接收相应的数据。
之所以是4,是因为一般传输的数据的长度使用I32的数据类型表示,占据4个字节,也就是说代表数据大小的数占据4个字节。你可以打开TCP/IP 的Write对应着Read看,就比较清楚了。

ljj2003120 发表于 2008-10-23 16:42:00

那我怎么控制写入TCP的字节大小呢?

那我怎么控制写入TCP的字节大小呢?比如我想让它占用六个字节,或者两个字节,怎么控制呢?

ljj2003120 发表于 2008-10-23 16:47:14

数据转变为变体型时,所占的字节长度是多少呢?

数据转变为变体型时,所占的字节长度是多少呢?比如说:I32型数据占4个字节,I8型数据占1个字节,那么变体型数据到底占几个字节呢?我看到过在用变体时,有用4位和6位读的,我就不知道它到底占几位?

cpubbs 发表于 2008-10-23 20:36:22

如果实在不清楚它的长度的话,可以发送前TYPE CAST一下变成字符串也可以,然后看这个字符串STRING LENGTH有多长,然后收那边一样将它反过来TYPE CAST就可以了!
页: [1]
查看完整版本: 读取TCP数据时,一般有两个TCP读取,那么第一个读取中读取的字节数必须是4么?