文档详情

delphi软件编程培训节.pdf

发布:2024-11-20约5.7千字共5页下载文档
文本预览下载声明

Delphi软件编程培训班第24节

1、介绍:

用Delphi编写局域网中的聊天程序

2、说明:

Internet盛行的今天,网上聊天已成为一种时尚。同时,各单位已建成了自己的局域网;能否在局域网上实现聊天呢?可以,网上到处都有这

种工具。当然,我们可以拥有自己的聊天工具。

UserDatagramProtocol(UDP)协议,是一种无连接协议。在Delphi中利用这种协议,可以轻松的编写出聊天程序,

使用IdUDP控件进行通信(delphi)

所以使用Id控件进行UDP通信的基本操作是:

初始化:Remote的IP,Port,(延时),本地IP(DefaultIP),端口,还要激活

接受,Receive为IdUDPServerUDPRead中加入处理代码

发送消息:调用SendBuffer(Comm,Sizeof(comm))方法,把消息放入需要发送的内存即可,至于真正的发送

交给控件自己去完成

以下是代码的简单实例:

unitUnit1;

interface

uses

Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,

Dialogs,StdCtrls,ButtontCtrls,IdUDPServer,IdBaseComponent,

IdComponent,IdUDPBase,IdUDPClient,

IdSocketHandle;//这个IdSocketHandle需要手动自己加入

type

TCommBlock=record

SenderName,

Msg:string[100];

end;

TForm1=class(TForm)

Panel1:TPanel;

Label1:TLabel;

Label2:TLabel;

Label3:TLabel;

Label4:TLabel;

EdtRemote:TEdit;

EdtName:TEdit;

EdtRPort:TEdit;

EdtPort:TEdit;

Memo1:TMemo;

BitSet:TBitBtn;

Panel2:TPanel;

EdtMsg:TEdit;

Button1:TButton;

IdUDPClient1:TIdUDPClient;

IdUDPServer1:TIdUDPServer;

procedureBitSetClick(Sender:TObject);

procedureButton1Click(Sender:TObject);

procedureIdUDPServer1UDPRead(Sender:TObject;AData:TStream;

ABinding:TIdSocketHandle);

private

{Privatedeclarations}

public

{Publicdeclarations}

end;

var

Form1:TForm1;

implementation

constRECIEVETIMEOUT=5000;//定义延时,单位为毫秒

{$R*.dfm}

procedureTForm1.BitSetClick(Sender:TObject);//初始化

begin

IdUDPClient1.Host:=EdtRemote.Text;//IP地址

IdUDPClient1.Port:=StrToInt(EdtRPort.Text);//端口

IdUDPClient1.Recei

显示全部
相似文档