IdTCPServer/IdTCPClient信息传输问题(100分)

  • 主题发起人 主题发起人 rdy808
  • 开始时间 开始时间
R

rdy808

Unregistered / Unconfirmed
GUEST, unregistred user!
在IDTCPCLIENT 和 IDTCPSERVER 中都定义了一个 packed record 的传输类型
TMyHead = record
head : arrary of char;
size : integer;
end;
TMyInf = packed record
head : TMyHead;
size : integer
end;
怎么能在SERVER 接受并读出信息。
因为TMyInf.Head.Head 是 arrary of char 动态长度的,读信息时中是报错!
请帮我解决下
代码:
 
你不可以这样的。
传递的时候,你需要准确的记录长度。
需要类似下面这样的。
TMyInf = packed record
head : array[0..100] of char ;
size : integer
end;
 
可以,我就是这样的,我想问问如果不给长度可不可以
 
不给长度不可以。
记录内再使用记录肯定是不可以的。
 
TMsgHead = record
head : array [0..19] of char;
hn : integer ;
end;
tMsgBody = record
Body : array [0..1023] of char;
Bn : integer;
end;
TMsg = packed record
head : TMsgHead;
Body : TMsgBody;
end;
 
多人接受答案了。
 
后退
顶部