第二个问题我还不明白,我用的是INDY 9(DELPHI7)。
1readbuffer一个数据后的这个数据被从INDY BUFFER中删除吗,那么下一次我再用readbuffer时就读下一个数据了吧?
2如果1是这样的话,我要收一个结构体类型数据,第一个INT型为数据标志OXFFFFFFFF,第二个为数据长度也为一个INT型,之后为数据内容。
我首先要读地一个INT型4字节为开始标志,判断是否为OXFFFFFFFF;然后再读取下一个INT型即长度。可以这样吗?
if AThread.Connection.ReadCardinal = $ffffffff then
begin
ipdatalength:= AThread.Connection.ReadInteger(true);
readbuffer(user_record,ipdatlength-8);//user_record为自定义数据
......
{var
user_record : Tvector_all;
Tvector_all= record
time : Tdatetime;
datasort : integer;
........
end;}
3上述readbuffer(user_record,ipdatlength-8);这个涉及网络 字节顺序和本机字节顺序的转换吗?