delphi中TCP通讯发送的数据问题?
我有个问题:TCP发送一个记录类型的数据,包含了一个byte类的数和一个integer类的数,本来发送的是5个byte,但实际上发送了8个byte的数。delphi里有什...
我有个问题:TCP发送一个记录类型的数据,包含了一个byte类的数和一个integer类的数,本来发送的是5个byte,但实际上发送了8个byte的数。delphi里有什么函数可以去掉填充的byte?
展开
3个回答
展开全部
对,你定义的时候估计是没有用到紧缩性的, 所以记录给你自动对齐了,byte的也和integer的一样占用4个字节
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能是你遇到了类型对齐的问题,
定义记录类型的时候用record packed试试
定义记录类型的时候用record packed试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在你定义记录类型时,
type
TSendData = packed record
D1: byte;
D2: integer;
end;
这时应该是5个字节了吧
type
TSendData = packed record
D1: byte;
D2: integer;
end;
这时应该是5个字节了吧
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询