Delphi的UDP网络传输编程
来源:网络收集 点击: 时间:2024-03-05打开Delphi7集成开发环境,将默认工程的Form1窗体Caption属性设置为:服务端,在窗体上放一个idUDPServer1控件。

在uses单元引用加入IdSocketHandle;
在Form1的OnCreate事件方法写如下代码:
procedure TForm1.FormCreate(Sender: TObject);
begin
idudpServer1.DefaultPort:=5000;
idudpServer1.Active:=True;
end;
在Form1的OnDestroy事件方法写如下代码:
procedure TForm1.FormDestroy(Sender: TObject);
begin
idudpServer1.Active:=False;
end;

在idUDPServer1控件的OnRead事件方法写如下代码:
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
var
Ds: TStringStream;
begin
Ds:= TStringStream.Create(); //接收数据流
Ds.CopyFrom( AData, AData.Size);
ShowMessage(接收到消息:+Ds.DataString); //显示数据流内容
Ds.Free;
end;
保存工程工程名为ProServer.dpr,F5运行程序,生成ProServer.exe

新建一个Delphi工程,更改默认Form1的Caption属性为:客户端,在窗体上放一个idUDPClient1控件和一个Button1控件


在Form1的OnCreate事件方法写如下代码:
procedure TForm1.FormCreate(Sender: TObject);
begin
idUDPClient1.Host:= 127.0.0.1;
idUDPClient1.Port:= 5000;
idUDPClient1.Active:= True;
end;
在Form1的OnDestroy事件方法写如下代码:
procedure TForm1.FormDestroy(Sender: TObject);
begin
idudpClient1.Active:=False;
end;

双击Button1进入OnClick事件方法,写代码如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
idUDPClient1.Send(发送消息abc);
end;

F5运行程序,再运行第3步生成的ProServer.exe程序,点击客户端的Button1按钮,服务端弹出对话框,显示客户端传过去的内容,数据传输成功。


这里用到本机测试服务器ip为127.0.0.1,实际要改成具体的ip
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_248083.html