⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testqqcommon.~pas

📁 序采用网上介绍的方法实现最基本的P2P方式通讯.模拟实现即时消息互发. 2.P2P通讯说明: 1).网关类型是在理想状态下.即非对称型NAT. 2).同在一个内网的两个CLIENT端通讯时,
💻 ~PAS
字号:
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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -