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

📄 monsoc.pas

📁 传奇服务端代码 LoginSrvSQL 通讯部分
💻 PAS
字号:
unit MonSoc;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics,
  Controls, Forms, Dialogs, StdCtrls, ExtCtrls, JSocket;

type
  TFrmMonSoc = class(TForm)
    MonSocket: TServerSocket;
    MonTimer:  TTimer;
    procedure FormCreate(Sender: TObject);
    procedure MonTimerTimer(Sender: TObject);
    procedure MonSocketClientError(Sender: TObject; Socket: TCustomWinSocket;
      ErrorEvent: TErrorEvent; var ErrorCode: integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmMonSoc: TFrmMonSoc;

implementation

uses MasSock, LSShare;

{$R *.DFM}

procedure TFrmMonSoc.FormCreate(Sender: TObject);
var
  Config: pTConfig;
begin
  Config := @g_Config;
  MonSocket.Active := False;
  MonSocket.Address := Config.sMonAddr;
  MonSocket.Port := Config.nMonPort;
  MonSocket.Active := True;
end;

procedure TFrmMonSoc.MonTimerTimer(Sender: TObject);
var
  I:    integer;
  nC:   integer;
  MsgServer: pTMsgServerInfo;
  sServerName: string;
  sMsg: string;
begin
  sMsg := '';
  nC   := FrmMasSoc.m_ServerList.Count;
  for I := 0 to FrmMasSoc.m_ServerList.Count - 1 do begin
    MsgServer   := FrmMasSoc.m_ServerList.Items[i];
    sServerName := MsgServer.sServerName;
    if sServerName <> '' then begin
      sMsg := sMsg + sServerName + '/' + IntToStr(MsgServer.nServerIndex) +
        '/' + IntToStr(MsgServer.nOnlineCount) + '/';
      if (GetTickCount - MsgServer.dwKeepAliveTick) < 30000 then
        sMsg := sMsg + '正常 ;'
      else
        sMsg := sMsg + '超时 ;';
    end else
      sMsg := '-/-/-/-;';
  end;
  for I := 0 to MonSocket.Socket.ActiveConnections - 1 do begin
    MonSocket.Socket.Connections[i].SendText(IntToStr(nC) + ';' + sMsg);
  end;
end;

procedure TFrmMonSoc.MonSocketClientError(Sender: TObject;
  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: integer);
begin
  ErrorCode := 0;
  Socket.Close;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -