J
justcool
Unregistered / Unconfirmed
GUEST, unregistred user!
var
NowIP: string;
NowPort: integer;
procedure TForm1.NMUDP1DataReceived(Sender: TComponent;
NumberBytes: Integer; FromIP: String; Port: Integer);
begin
NowIP:= FromIP;
NowPort:= Port;
end;
procedure TForm1.sendbtnClick(Sender: TObject);
var
ss: TStringstream;
begin
if edit1.Text <> '' then
begin
nmudp1.RemoteHost:= NowIP;
nmudp1.RemotePort:= NowPort;
try
ss:= TStringstream.Create(edit1.Text);
nmudp1.SendStream(ss);
finally
ss.Free;
end;
end;
end;
就是这样啊,但是如果通讯的两端都在局域网内的话,想进行通讯就只能依赖于中间服务器
了,腾讯的服务器就是充当了这样的角色,他的必备条件是必须有一个固定的IP,这样当
QQ用户登陆的时候,都会朝这个固定IP的服务器发送数据包,以使得自己局域网代理服务器
为其建立的通讯端口得以在中间服务器登记在案,这样,别的QQ也就可以在中间服务器取得
你的IP和PORT跟你通讯了。
NowIP: string;
NowPort: integer;
procedure TForm1.NMUDP1DataReceived(Sender: TComponent;
NumberBytes: Integer; FromIP: String; Port: Integer);
begin
NowIP:= FromIP;
NowPort:= Port;
end;
procedure TForm1.sendbtnClick(Sender: TObject);
var
ss: TStringstream;
begin
if edit1.Text <> '' then
begin
nmudp1.RemoteHost:= NowIP;
nmudp1.RemotePort:= NowPort;
try
ss:= TStringstream.Create(edit1.Text);
nmudp1.SendStream(ss);
finally
ss.Free;
end;
end;
end;
就是这样啊,但是如果通讯的两端都在局域网内的话,想进行通讯就只能依赖于中间服务器
了,腾讯的服务器就是充当了这样的角色,他的必备条件是必须有一个固定的IP,这样当
QQ用户登陆的时候,都会朝这个固定IP的服务器发送数据包,以使得自己局域网代理服务器
为其建立的通讯端口得以在中间服务器登记在案,这样,别的QQ也就可以在中间服务器取得
你的IP和PORT跟你通讯了。