请教 indy 中的 tldUdpServer 如何实现对本地端口6100进行监听!
http://www.delphi2007.net/DelphiNetwork/html/delphi_20061212001946146.html
delphi版本 7.0
初学delphi,不知如何设置!还请高手指点!
我用netstat测试没看到6100端口被监听!
up
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdUDPBase, IdUDPServer,IdSocketHandle;
type
TForm1 = class(TForm)
IdUDPServer1: TIdUDPServer;
procedure FormCreate(Sender: TObject);
procedure IdUDPServer1UDPRead(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
IdUDPServer1.Active:=False;
IdUDPServer1.DefaultPort:=6100;
IdUDPServer1.Active:=True;
end;
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
begin
//写你侦听的代码,你可以参考随代的DEMO
end;
end.
//uses部分需要才动加上IdSocketHandle单元
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdUDPBase, IdUDPServer,
IdStack, IdSocketHandle;
type
TForm1 = class(TForm)
UDPServer: TIdUDPServer;
Button1: TButton;
Memo1: TMemo;
BufferSizeLabel: TLabel;
PortLabel: TLabel;
HostAddressLabel: TLabel;
HostNameLabel: TLabel;
procedure FormCreate(Sender: TObject);
procedure UDPServerUDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
HostNameLabel.Caption := UDPServer.LocalName;
HostAddressLabel.Caption := GStack.LocalAddress;
PortLabel.Caption := IntToStr(UDPServer.DefaultPort);
BufferSizeLabel.Caption := IntToStr(UDPServer.BufferSize);
UDPServer.Active := True;
end;
procedure TForm1.UDPServerUDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
var
DataStringStream: TStringStream;
s: String;
begin
DataStringStream := TStringStream.Create('');
try
DataStringStream.CopyFrom(AData, AData.Size);
Memo1.Lines.Add('Received "' + DataStringStream.DataString + '" from ' +
ABinding.PeerIP + ' on port ' + IntToStr(ABinding.PeerPort));
s := 'Replied from ' + UDPServer.LocalName + ' to "' +
DataStringStream.DataString + '"';
ABinding.SendTo(ABinding.PeerIP, ABinding.PeerPort, s[1], Length(s));
finally
DataStringStream.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if UDPServer.Active then Caption := 'True' else Caption := 'False';
UDPServer.DefaultPort:=6100;
UDPServer.Active := not UDPServer.Active;
if UDPServer.Active then Caption := 'True' else Caption := 'False';
end;
end.
刚写的一个例子
demo好像已经实现了!我的理解有点问题:)
请教 indy 中的 tldUdpServer 如何实现对本地端口6100进行监听!相关推荐
- cmd中检测远程的ip和端口是否处于监听状态
第一步:使用ping命令测试远程的ip是否可连通 在cmd中输入ping ip地址: 如果最后的统计信息中丢失率为0表示可以连通该ip地址.那么就可以进行下一步的测试该ip下的某一个端口是否开放的操作 ...
- cmd查看某个服务器端口状态,cmd中检测端口是否处于监听状态 | IT博客
1.查看本地端口监听状态命令:netstat -an Local Address:本地地址 Foreign Address :外地的地址 State:LISTENING该端口在监听外部连接,estab ...
- vue中实现全屏以及对退出全屏的监听
前言: vue中实现默认进来页面,某个div全屏,并监听退出全屏的次数,当退出全屏次数达到5的时候跳转到别的页面. 目录: 实现步骤: 1.页面上在你想要的容器上加上id = 'con_lf_top_ ...
- flutter中state生命周期与app生命周期与路由监听
State生命周期 1.第一次展示到屏幕上时会依次调用当前element的构造函数,initState,didChangeDependencies,build 2.如果只是自己发生了更新,则只会回调b ...
- android中对sim卡联系人的增删改查以及监听sim卡联系数据的改变
sim卡联系人的增删改查主要是通过ContentProvider来进行操作的,在android中对sim卡联系人操作的provider是定义在IccProvider.java这个类中的,这个类位于an ...
- Android项目技术总结:项目中选择任务的联系人引出android的spinner的监听问题
web版本的项目中有这样一个功能,动态添加联系人,并且可以修改,如下图: 可以由上面四图明显可以看出we ...
- linux系统中ntp服务监听端口是,Linux系统下测试UDP端口是否正常监听的办法
TCP端口,比如80端口,可使用 telnet 主机ip 80,来验证端口是否正常监听,那UDP端口是否可同样测试呢?关于UDP端口怎样测试监听的问题, 下面我们来进行测试,如:123端口是服务器 A ...
- nginx index.php 端口,请教下 nginx 配置域名反代到本地端口这里面应该怎么加。
域名 1.31.tw 怎么添加反代可以正常访问 127.0.0.1:5000 端口? 我自己加的反代在域名开启 ssl 下 css 不正常,错位.弄一天了没弄明白,求大佬.谢谢 下面是配置文件: se ...
- centos7开启tcp6_centos中docker映射出来的端口被tcp6监听,而没有被tcp监听导致ip+端口无法进行访问...
如图,我通过docker构建容器时,映射出来的端口是8081,但是通过ip+8081无法访问,在检查了一遍安全组规则是否开放,以及百度以后查到是由于端口被tcp6监听,没有被tcp监听到导致的. 按照 ...
最新文章
- linux学习笔记十四:安装SAMBA(Server Message Block)
- (iOS)从0到Double系列 如何刻出一个可拖动的导航浮動按钮
- python日历提醒_Python之时间:calender模块(日历)
- RPA女子计划—面向日本女性的工作方式改革
- 认证连接_长江连接器哪些产品通过认证?
- Linux下MySQL C API简单示例
- SPOJ 3267: DQUERY 树状数组,离线算法
- Shell函数:Shell函数返回值、删除函数、在终端调用函数
- 三目运算符对比三个_Javascript之if条件语句和三目运算符
- java 字节序列_java – 这个线程安全的字节序列生成器有什么问题?
- linux服务器安装nexus,Linux下搭建maven服务器nexus
- python函数调用位置_关于Python函数中的位置参数
- 正则表达式(以后认真研究下)
- R及RStudio软件安装教程
- H265分辨率解码概述
- 页面提交时,显示“提交中”等待效果
- 6、Nacos服务注册——PushService类功能
- qq邮箱 服务器认证失败怎么回事,为什么我的QQ邮箱登录不了 QQ邮箱无法登陆怎么解决...
- ASP.Net Core Web Api在Windows服务器上部署
- 阻止野猪入境 丹麦在德国边境开始建设边境围栏
热门文章
- java安全框架下载文件_java安全框架之Permission学习笔记
- linux系统cpu文件,Linux_学堂:当前Linux系统运行的各种参数, 1、CPU 在文件“/proc/ - phpStudy...
- @bean 什么时候执行_离婚冷静期什么时候开始执行?
- k8s springboot 文件_30分钟无痛上云——springboot项目部署到kubernetes
- 计算机基础知识第三章测试,计计算机应用基础第三章测试题
- filter过滤后重新添加_Kibana基本使用---使用Flight Dashboard过滤数据
- docker中使用idea部署运行项目(项目以镜像方式运行)
- TortoiseSVN修改服务器地址的方法
- java十六进制与字符串_JAVA十六进制与字符串的转换方法
- Leetcode-148-排序链表(递归+迭代)