delphi中TCP通讯发送的数据问题?

我有个问题:TCP发送一个记录类型的数据,包含了一个byte类的数和一个integer类的数,本来发送的是5个byte,但实际上发送了8个byte的数。delphi里有什... 我有个问题:TCP发送一个记录类型的数据,包含了一个byte类的数和一个integer类的数,本来发送的是5个byte,但实际上发送了8个byte的数。delphi里有什么函数可以去掉填充的byte? 展开
 我来答
百度网友2d2e4b6
2010-12-31 · 超过65用户采纳过TA的回答
知道小有建树答主
回答量:391
采纳率:0%
帮助的人:169万
展开全部
对,你定义的时候估计是没有用到紧缩性的, 所以记录给你自动对齐了,byte的也和integer的一样占用4个字节
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d16365f
2010-12-29 · 超过18用户采纳过TA的回答
知道答主
回答量:49
采纳率:0%
帮助的人:39.9万
展开全部
可能是你遇到了类型对齐的问题,
定义记录类型的时候用record packed试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ldylz
2010-12-28 · TA获得超过130个赞
知道答主
回答量:384
采纳率:0%
帮助的人:108万
展开全部
在你定义记录类型时,
type
TSendData = packed record
D1: byte;
D2: integer;
end;
这时应该是5个字节了吧
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式