P2pConst.pas
上传用户:zhanghw123
上传日期:2021-11-15
资源大小:312k
文件大小:3k
源码类别:

P2P编程

开发平台:

Delphi

  1. Unit P2pConst;
  2. Interface
  3. Uses
  4.   ComCtrls, Graphics;
  5. Type
  6.   TAddress = String[21];
  7.   // 命令头
  8.   Phead = ^Thead;
  9.   Thead = Packed Record
  10.     ID: Integer;
  11.   End;
  12.   // 登陆包
  13.   PLoginUser = ^TLoginUser;
  14.   TLoginUser = Packed Record
  15.     ID: Thead;
  16.     Name: String[20]; //用户名称
  17.   End;
  18.   // 登陆返回包   result
  19.   PResutLoginBack = ^TResutLoginBack;
  20.   TResutLoginBack = Packed Record
  21.     ID: Thead;
  22.     State: Byte; //1成功登陆 2已经登陆了
  23.     Addr: TAddress; //返回用户的IP和端口号
  24.     UserID: Cardinal; //用户ID号
  25.   End;
  26.   // 退出登陆包
  27.   PLoginoutUser = ^TLoginoutUser;
  28.   TLoginoutUser = Packed Record
  29.     ID: Thead;
  30.     UserID: Cardinal;
  31.   End;
  32.   // 广播的用户包
  33.   PNewUser = ^TNewUser;
  34.   TNewUser = Packed Record
  35.     ID: Thead;
  36.     IP: String[15];
  37.     Port: Word;
  38.     Call: String[20];
  39.     UserID: Cardinal;
  40.   End;
  41.   //开门
  42.   TOpenDoor = Packed Record
  43.     ID: Thead;
  44.   End;
  45.   // 想要对方开门
  46.   PWantDoor = ^TWantDoor;
  47.   TWantDoor = Packed Record
  48.     ID: Thead;
  49.     SourceID, {发起}
  50.     DestID: Cardinal; {目标}
  51.   End;
  52.   // 说Hello
  53.   PSayHello = ^TSayHello;
  54.   TSayHello = Packed Record
  55.     ID: Thead;
  56.     UserID: Cardinal;
  57.   End;
  58.   // 心跳
  59.   PLiving = ^TLiving;
  60.   TLiving = Packed Record
  61.     ID: Thead;
  62.     SourceUserID: Cardinal;
  63.   End;
  64. Const
  65.   P2pLogin = 1001; //登陆
  66.   P2pLoginOut = 1002; //退出
  67.   P2pWantDoor = 1003; //用户请求其它用户开门
  68.   P2pDoorOpened = 1004; //告诉服务端这个用户的门已经打开
  69.   P2pResultLoginBack = 2001; //返回登陆
  70.   P2PGiveUserlist = 2002; //给用户列表
  71.   P2pSomeOneWantDoor = 2003; //给用户请求P2P开门命令
  72.   P2pDoneDoor = 2004; //通知客户端已经打开门了
  73.   P2pOpenDoor = 4001; //接到请求的用户给对方开门
  74.   P2pSayHello = 4002; //发起握手的信息
  75.   P2pChat = 4003; //用户发送聊天消息
  76.   P2pSayHelloResponse = 5002; //对方回复握手信息
  77.   P2PALLNewUser = 6001; //广播有新用户加入
  78.   P2pALLLeaveUser = 6002; //广播有用户离开
  79.   P2pAnyLifeing = 7001; //心跳包
  80.   P2pAnyToAntLifeing = 7002; //心跳回复包
  81. Type
  82.   TREFont = Packed Record
  83.     Charset: TFontCharset;
  84.     Name: TFontName;
  85.     Size: Integer;
  86.     Color: TColor;
  87.     Style: TFontStyles;
  88.     Pitch: TFontPitch;
  89.   End;
  90. Procedure SetRichEditFont(RichEdit: TRichEdit; Font: TFont);
  91. Implementation
  92. Procedure SetRichEditFont(RichEdit: TRichEdit; Font: TFont);
  93. Begin
  94.   With RichEdit.SelAttributes Do
  95.   Begin
  96.     Charset := Font.Charset;
  97.     Name := Font.Name;
  98.     Size := Font.Size;
  99.     Color := Font.Color;
  100.     Style := Font.Style;
  101.     Pitch := Font.Pitch;
  102.   End;
  103. End;
  104. End.