请问怎么样向server发送及接收消息?(100分)

M

missfen

Unregistered / Unconfirmed
GUEST, unregistred user!
发送消息类型为:Connect
1,消息结构:Message Header (消息头),Message Body (消息体)
2,消息头格式,字段名:Tota1_length(4字节integer),command_id(4字节integer)
3,消息体格式,字段名:source_Addr(6字节string),Authenticator(16字节string)
接收发送消息类型为:Connect_rep
字段名:status(1字节integer),autenticator(16字节string)
 
把消息打成一个包,用一个函数根据格式解包,然后用平常的收发命令就行了(收发命令
参见delphi/demo/internet/chat)。
 
怎么样打包?
 
所谓打包,其实并不是打包,因为它只是一个字符串,唯一不一样的是这个字符串是
按照固定格式格式z组成的,如:HeadBodyEnd(443);然后在处理的时候按照(443)解开
那么Head,Body,End就是你所需要的东西了。
 
用一个buf:array[1..1024]of char来保存
用copymemory(@buf,@Connect,sizeof(Connect));
send(buf)就OK了
 
接受的时候也一样,把他
CopyMemory(@Connect,@buf,sizeof(buf))就可以了,再解析数据
 
顶部