testqqcommon.~pas
来自「序采用网上介绍的方法实现最基本的P2P方式通讯.模拟实现即时消息互发. 2.P」· ~PAS 代码 · 共 94 行
~PAS
94 行
unit testQQCommon;
interface
//-------------------常量定义---------------------
Const SERVER_PORT=9001;
CLIENT_PORT=5001;
IsFalse='0';
IsTrue='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; {账号}
lResult:array[0..1] of Char; {验证结果: 1,成功;0,失败}
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 TChatData=packed record
fromAccount:array [0..20] of Char; {账号}
toAccount:array [0..20] of Char; {}
Msg:array[0..499] of Char; {消息内容}
IsNeedReBack:array[0..1] of Char; {是否需要接收成功反馈}
IsReBackSigh:array[0..1] of Char; {是否为反馈信息}
end;
//-------------------用户基本信息定义---------------------
type TUserData=packed record
Account:array [0..20] of Char; {用户ID}
IP:array[0..15] of Char; {IP地址}
PORT:array[0..6] of Char;
IsFirstOne:array[0..2] 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 TChatDataPackage=packed record
Head:TTQQUDPHead;
Body:TChatData;
end;
//-------------------在线信息---------------------
type PServerUserBasicInfo=^TServerUserBasicInfo;
TServerUserBasicInfo=class //在线用户数据表
UserData:TUserData;
IsActive:Boolean;
end;
implementation
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?