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

📄 remotesvrunt.pas

📁 絮语2007视频聊天软件源程序.仅供参考
💻 PAS
字号:
unit remotesvrunt;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, xpButton, ComCtrls, IdAntiFreezeBase, IdAntiFreeze,compress,
  IdBaseComponent, IdComponent, IdUDPBase, IdUDPServer,constunt,structureunt;

type
  Tremotesvrfrm = class(TForm)
    xpButton1: TxpButton;
    xpButton2: TxpButton;
    StatusBar1: TStatusBar;
    udpserver: TIdUDPServer;
    AntiFreeze: TIdAntiFreeze;
    procedure FormShow(Sender: TObject);
    procedure xpButton2Click(Sender: TObject);
    procedure xpButton1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    procedure initform;
    procedure sendmsgtosvr(msg:string);
    procedure process_custom_message(var msg:tmessage);message refresh_status;
    { Private declarations }
  public
    firendid:string;
    svrip,destip:string;
    svrport,destport:integer;
    { Public declarations }
  end;

var
  remotesvrfrm: Tremotesvrfrm;

implementation
uses shareunit,udpcores;
{$R *.DFM}

procedure Tremotesvrfrm.process_custom_message(var msg:tmessage);
begin
case msg.WParam of
  xy_form_close:close;
  end;
end;

procedure Tremotesvrfrm.initform;
begin
udpserver.Bindings.clear;
udpserver.BufferSize:=65536;
udpserver.ThreadedEvent:=true;
with udpserver.Bindings.add do
  begin
  ip:='0.0.0.0';
  port:=0;
  end;
udpserver.Active:=true;
udpserver.Binding.UpdateBindingLocal;
end;

procedure Tremotesvrfrm.FormShow(Sender: TObject);
var tmp:userinfo;
begin
tmp:=udpcore.user.getuserinfoex(firendid);
statusbar1.Simpletext:='远程协助用户:'+tmp.userid;
end;

procedure Tremotesvrfrm.xpButton2Click(Sender: TObject);
begin
xpbutton1.Enabled:=true;
xpbutton2.Enabled:=false;
close;
end;

//------------------------------------------------------------------------------
// 与中转服务器进行协商
//------------------------------------------------------------------------------
procedure Tremotesvrfrm.sendmsgtosvr(msg:string);
begin
makeparamsex(msg,'language',locallanguage);
encompress(msg);//压缩
udpserver.Binding.SendTo(svrip,svrport,msg[1],length(msg));
sleep(1);
end;

procedure Tremotesvrfrm.xpButton1Click(Sender: TObject);
var msgex:string;
    myinfo:userinfo;
begin
myinfo:=udpcore.user.getuserinfoex(0);
makeparamsex(msgex,'msgid',xy_remote);
makeparamsex(msgex,'funid',xy_request);
makeparamsex(msgex,'md5name',myinfo.md5name);
makeparamsex(msgex,'userid',myinfo.userid);
makeparamsex(msgex,'uname',myinfo.uname);
makeparamsex(msgex,'messageex','邀请远程协助');
sendmsgtosvr(msgex);
xpbutton1.Enabled:=false;
xpbutton2.Enabled:=true;
end;

procedure Tremotesvrfrm.FormCreate(Sender: TObject);
begin
remote_hwnd:=handle;
initform;
end;

end.

⌨️ 快捷键说明

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