UDP接发消息的问题

liubinhua 2007-08-29 09:05:01
本人刚接触UDP,想知道一个很简单的例子
我用idUDPClient和idUDPServer 这2个控件,分别用在客户端和服务器端,,,,我用idUDPClient发送一个消息,然后idUDPServer读出并显示发送过来的消息,,完了以后再发送一个消息回去,另一边接到消息并显示出来

例如,机器1先发送 test1 到机器2 机器2接收到消息并显示出 test1,然后机器2又发送一个test2消息给机器1,机器1接收到消息并显示出test2

希望了解UDP通讯的人给个例子...感激不尽啊..... 本人分不够.....
...全文
113 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
liubinhua 2007-08-30
  • 打赏
  • 举报
回复
问题已解决,,,谢谢失踪的月亮
hongqi162 2007-08-30
  • 打赏
  • 举报
回复
我这里没有问题,可以弹出一个对话框,是不是你本地安装了防火墙端口没有打开,用netstat -na 看一下5555端口是不是已经打开了
liubinhua 2007-08-30
  • 打赏
  • 举报
回复
怎么没人啊....帮帮忙咯
hongqi162 2007-08-29
  • 打赏
  • 举报
回复
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdUDPServer, IdBaseComponent, IdComponent, IdUDPBase,
IdUDPClient, StdCtrls,IdSocketHandle;

type
TForm1 = class(TForm)
IdUDPClient: TIdUDPClient;
IdUDPServer: TIdUDPServer;
cmdSend: TButton;
procedure FormCreate(Sender: TObject);
procedure cmdSendClick(Sender: TObject);
procedure IdUDPServerUDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
self.IdUDPServer.DefaultPort:=5555;
self.IdUDPServer.Active:=True;
end;

procedure TForm1.cmdSendClick(Sender: TObject);
begin
self.IdUDPClient.Send('127.0.0.1',5555,'hello world');
end;

procedure TForm1.IdUDPServerUDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
var
strStream:TStringStream;
begin
strStream:= TStringStream.Create( '' );
try
strStream.CopyFrom(AData,AData.Size);
showmessage( strStream.DataString );
finally
strStream.Free;
end;
end;

end.

liubinhua 2007-08-29
  • 打赏
  • 举报
回复
Delphi(Pascal) code 非常感谢你...但你给我的例子运行以后一点反应都没有..为什么?

2,495

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧