(HN)请教TCP/IP.idtcpclient.网络通讯--急(100分)

  • 主题发起人 主题发起人 阿张
  • 开始时间 开始时间

阿张

Unregistered / Unconfirmed
GUEST, unregistred user!

通信包 含义 说明
-----------------------------------------------------------------
起始位 0x02 起始位
标识串(40) 61 21 00 30 20 功能号,10位
Cc s0 00 1 返回代码 7位
00 0 备用字段 3位
00, 00 整个包的长度 4位(从网卡号到参数串的最后一位 的长度)
01, 02, d3, 04, a5, c6 网卡号 12位
0 上传/下传标识 1位,0:上传
0 结果集标志 1位
0 后续包标志 1位
0 备用字段 1位,备用字段
BITMAP … 保留 16位(一般不可用)
参数串(不超过744位) … 参数1
… 参数2
… 。。。
… 参数N
--------------------------------------------------------
以上通讯包我该怎么用delphi定义呢? 30分
怎么赋值呢? 30分
怎么用idtcpclient发送到远端主机呢?怎么接收主机类似的下传包,? 40分
各位,元旦快乐,多赐教,时间紧啦,帮我
http://www.delphibbs.com/delphibbs/dispq.asp?lid=819233贴还有人赐教吗?今天要结束给分了

 
你可以采用算法将所有字符防在Pchar的buffer里面!
然后send出去就可以了!
 
我用socket发送自己定义包就是这样的!
var
buffer:array[0..100] of char;
begin
buffer[0]:=#02;
buffer[1]:=#61;
…………
end;
 
能详细点吗?针对idtcpclient控件
 
建议使用ics控件
 
定义一个发送接受格式
用数组好了,一个个填,然后发送,接受后按格式分解
 
哪里有ICS控件,我也想用数组的
 
强列建议你用记录型,这样无论是读写都巨爽!
给你个例子先(随手写的,没运行!)
Data Define:
TDataRec=record
Fdata1:string[1];
Fdata2:string[1];
Fdata3:integer;
end;
sDataArr:array[0..100] of TDataRec;
rDataArr:array[0..100] of TDataRec;

Server:
ServerSocket.SendBuf(sDataArr,101*sizeof(TDataRec));
Client:
ClientSocket.RecevieBuf(rDataArr,101*sizeof(TDataRec));
搞定!
当然,其中你也可用SENDSTREAM来发,那样操作就更方便了!
 
起始位 0x02 该怎么格式呢?
用string不行哦,string是char类型,是不是用 str:byte;
 
后退
顶部