unit ClnUnit;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, NMUDP, StdCtrls;type
TClient = class(TForm)
CUDP: TNMUDP;
procedure CUDPDataReceived(Sender: TComponent; NumberBytes: Integer;
FromIP: string; Port: Integer);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;var
Client: TClient;implementationvar
SendStream: TFileStream;{$R *.dfm}procedure TClient.CUDPDataReceived(Sender: TComponent;
NumberBytes: Integer; FromIP: string; Port: Integer);
var
CtrlCode: array[0..29] of char;
begin
CUDP.ReadBuffer(CtrlCode, NumberBytes);
if CtrlCode[0] + CtrlCode[1] + CtrlCode[2] + CtrlCode[3] = 'Send' then
begin
CUDP.RemoteHost := FromIP;
CUDP.SendStream(SendStream);
end;
end;procedure TClient.FormCreate(Sender: TObject);
begin
SendStream := TFileStream.Create('c:\BOOTEX.LOG', fmOpenRead);
end;procedure TClient.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SendStream.Free ;
end;end.
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, NMUDP, StdCtrls;type
TClient = class(TForm)
CUDP: TNMUDP;
procedure CUDPDataReceived(Sender: TComponent; NumberBytes: Integer;
FromIP: string; Port: Integer);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;var
Client: TClient;implementationvar
SendStream: TFileStream;{$R *.dfm}procedure TClient.CUDPDataReceived(Sender: TComponent;
NumberBytes: Integer; FromIP: string; Port: Integer);
var
CtrlCode: array[0..29] of char;
begin
CUDP.ReadBuffer(CtrlCode, NumberBytes);
if CtrlCode[0] + CtrlCode[1] + CtrlCode[2] + CtrlCode[3] = 'Send' then
begin
CUDP.RemoteHost := FromIP;
CUDP.SendStream(SendStream);
end;
end;procedure TClient.FormCreate(Sender: TObject);
begin
SendStream := TFileStream.Create('c:\BOOTEX.LOG', fmOpenRead);
end;procedure TClient.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SendStream.Free ;
end;end.
解决方案 »
- 无理由散分!!!
- 为什么动态创建的控件删除后还显示?
- CodeGear Delphi 中的编译错误"Undeclared identifier XXX"
- wise打包,几个比较简单但我不知道的问题,盼大家解答。最后40分了,我怎么这么穷!?
- 高分求教用indy传送文件的问题
- string 与WideString 的问题
- 100分求救!一个com问题,在线等...
- 用delphi来开启和屏蔽网卡?怎么写?
- 毛遂自荐---一个今年7月将离校的大学生(那不到毕业证),想在广东找工作
- 能不能隐藏Combobox里的其中一个选项内容?
- ¥¥¥¥¥¥¥ 怎样用流传语音 ¥¥¥¥¥¥¥¥¥¥¥¥
- 怎样写下载百分比?
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, NMUDP;type
TServer = class(TForm)
Button1: TButton;
NMUDP: TNMUDP;
procedure Button1Click(Sender: TObject);
procedure NMUDPDataReceived(Sender: TComponent; NumberBytes: Integer;
FromIP: string; Port: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;var
Server: TServer;
TmpStream: TMemoryStream;
SendStream: TFileStream;
implementation{$R *.dfm}procedure TServer.Button1Click(Sender: TObject);
begin
try
SendStream := TFileStream.Create('c:\BOOTEX.LOG', fmOpenRead);
NMUDP.RemoteHost := '127.0.0.1';
NMUDP.SendStream(SendStream);
finally
SendStream.Free;
end;
end;procedure TServer.NMUDPDataReceived(Sender: TComponent;
NumberBytes: Integer; FromIP: string; Port: Integer);
begin
try
TmpStream := TMemoryStream.Create;
NMUDP.ReadStream(TmpStream);
TmpStream.SaveToFile('d:\bootex.txt');
finally
TmpStream.Free;
end;
end;end.
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls, NMUDP;type
TForm1 = class(TForm)
NMUDP1: TNMUDP;
procedure NMUDP1DataReceived(Sender: TComponent; NumberBytes: Integer;
FromIP: String; Port: Integer);
procedure NMUDP1BufferInvalid(var handled: Boolean;
var Buff: array of Char; var length: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.NMUDP1DataReceived(Sender: TComponent;
NumberBytes: Integer; FromIP: String; Port: Integer);
var
vMemoryStream: TMemoryStream;
begin
vMemoryStream := TMemoryStream.Create;
try
NMUDP1.ReadStream(vMemoryStream);
vMemoryStream.Position := 0;
vMemoryStream.SaveToFile('c:\temp.dat');
finally
vMemoryStream.Free;
end;
end;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls, NMUDP;type
TForm1 = class(TForm)
NMUDP1: TNMUDP;
Edit1: TEdit;
SpeedButton1: TSpeedButton;
OpenDialog1: TOpenDialog;
SpeedButton2: TSpeedButton;
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
myfile:tfilestream;
filename:string;implementation{$R *.dfm}procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
opendialog1.Filter:='*.*|*.*';
if opendialog1.Execute then
begin
filename:=opendialog1.FileName;
myfile:=tfilestream.Create(filename,fmopenread);
end;
end;procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
NMUDP1.RemoteHost:=edit1.text;
myfile.Position := 0;
NMUDP1.SendStream(myfile);
end;end.