testqqcommon.~pas
来自「序采用网上介绍的方法实现最基本的P2P方式通讯.模拟实现即时消息互发. 2.P」· ~PAS 代码 · 共 79 行
~PAS
79 行
unit testQQCommon;
interface
//-------------------常量定义---------------------
Const SERVER_Port=8002;
IsNeedReBack='1';
IsOnlineSign='1';
LogonSign=1; //注册信号
HandSign=2; //握手数据,用于保持会话连接,如网关的NAT端口
FriendDataSign=3; //好友资料
LogoutSign=4; //注销信号
ChatMsgSign=5; //聊天信息
ChatMsgRecvedSign=6; //收到聊天信息
//-------------------数据头定义---------------------
type TTQQUDPHead=record
MsgType:String[2]; {数据类型}
DataSize:LONGWORD;
end;
//-------------------数据体定义---------------------
{4.0 登录上线数据格式}
type TLogonData=packed record
Account:array [0..20] of Char; {账号}
MyPublicIP:array [0..20] of Char; {IP}
MyPublicPORT:array[0..5] of Char; {PORT}
lResult:array[0..1] of Char; {验证结果: 1,成功;0,失败}
end;
{4.1 登录下线数据格式}
type TLogoutData=packed record
Account:array [0..20] of Char; {账号}
_Result:Integer; {结果: 1,成功;2,失败}
end;
type THandData=packed record
Account:array [0..20] of Char; {账号}
Mark:array[0..1] of Char; {是否是上线信号}
DesIP:array [0..20] of Char; {IP}
DesPORT:array[0..5] of Char; {PORT}
NeedReBack:Array[0..2] of Char;
end;
//-------------------用户基本信息定义---------------------
type TUserData=packed record
Account:array [0..20] of Char; {用户ID}
Name:array[0..20] of Char; {用户名称}
IP:array[0..15] of Char; {IP地址}
PORT:array[0..6] of Char;
end;
//-------------------整体结构定义格式包---------------------
{(Package) 登录上线验证数据格式}
type TLogonDataPackage=packed record
Head:TTQQUDPHead;
Body:TLogonData;
end;
type TLogoutDataPackage=packed record
Head:TTQQUDPHead;
Body:TLogoutData;
end;
{握手[打洞]数据格式}
type THandDataPackage=packed record
Head:TTQQUDPHead;
Body:THandData;
end;
type TFriendDataPackage=packed record
Head:TTQQUDPHead;
Body:TUserData;
end;
//-------------------在线信息---------------------
type PServerUserBasicInfo=^TServerUserBasicInfo;
TServerUserBasicInfo=class //在线用户数据表
UserData:TUserData;
IsActive:Boolean;
end;
implementation
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?