首页 > 其他分享 >Delphi网络组件

Delphi网络组件

时间:2024-02-06 15:57:00浏览次数:23  
标签:Delphi 网络 指定 组件 客户端 方法 连接 属性

TIdTCPClient组件介绍

TIdTCPClient组件实现了TCP的客户端部分,它封装了一个完整的TCP客户端,包括对套接字的支持。该组件可用来作为实现专门协议的组件父类,TIdDayTime、TIdEcho、TIdFinger、TIdFT、TIdGopher、TIdHTTP、TIdNNTP、TIdPOP3、TIdQUOTD、TidTelnet以及TIdWhois组件都是其派生类。

属性

1、BoundIP:指定客户端连接使用的本地IP地址,Connect方法使用它进行初始化绑定;

例:IdTCPClient1.BoundIP := '192.168.1.168';

2、Host:指定远程计算机的地址,该地址将成为客户端连接的端点。计算机地址可以是‘www.osekje.com.cn’ 或 ‘192.168.6.18’ 的形式。要连接到计算机本身,可使用ip地址‘127.0.0.1’或‘localhost’。

例:IdTCPClient1.Host := '192.168.1.168';

3、Port:指定服务器为客户端连接所用的端口号,一个整形值;

例:IdTCPClient1.Port :=3000;

4、Intercept:TIdConnectionIntercept类型,允许截取连接的读写操作。作为协议对战和TIdTCPConnection之间的中介,用于执行登录发送和接收的操作或提供对安全套接字协议层的支持。InterceptEnabled为True时该属性才有效;

5、ReaLnTimedOut : 是一个只读类型的布尔值,指定ReadLn方法是否超时。ReadLn方法将更新这个属性,当ReadFromStack返回的值为0时,将该属性设置为True;

方法

1、Connect 方法

建立服务器的连接,需要在Host属性中提供主机名,在Port属性中提供端口号。许多协议在实现时重载这个方法,因为该协议需要专门的初始化顺序。建立连接时为客户端指定一个套接字句柄调用Binding方法,使用BoundIP属性值作为本地计算机的IP地址。

2、ConnectAndGetAll 方法

打开一个Host属性指定的服务器,Port属性将指定端口的连接并读取所有数据,直到断开连接。该方法支持对Day和DayTime的引用;

3、Destroy 方法

删除一个TIdTCPClient对象。在删除前,负责释放由Create方法初始化的SocksInfo对象。

4、CheckForGracefulDisconnect方法

确定连接是否已终止。

5、Connected 方法

指定同等连接是否激活,值为布尔型,默认为False,使用CloseGracefully可以确定连接是正常关闭还是突然终止。

6、Disconnect 方法

断开同等连接。TIdTCPConnection的许多派生组件重载了这个方法,为不同协议提供需要的终止命令,如果由于一些错误关闭一个连接,则可调用DisconnectSocket方法。

7、DisconnectSocket 方法

关闭连接的套接字绑定。与Disconnect方法不同,TIdTCPConnection的派生组件未重载这个方法。当协议处理程序发生错误或需要断开连接时,可以使用Disconnect方法。

8、ReadLn 方法

从Indy缓存区读取一行数据。

 

标签:Delphi,网络,指定,组件,客户端,方法,连接,属性
From: https://www.cnblogs.com/llj202310181731/p/17900878.html

相关文章

  • delphi关闭程序
    Close1.只关闭本窗体2.当Close是一个主窗体时,程序会退出。3.Close会发生FormClose事件,FormCloseQuery事件,触发OnClose事件;4.主窗体close以后程序就Application.Terminate了5.子窗体close以后。没释放,还可以Show出来。6.也是说主窗口的Close方法其实也是调用Application的Term......
  • 计算机网络抓包实战
    介绍计算机网络作为一门计算机专业课,平时都是各种抽象的协议和各种发送接收,很难具体的去感受其含义,因此也是借助wireshark对发送的包进行一个分析。抓包分析三次握手验证在第一次访问到182.254.242.96这个ip时,首先是建立了TCP的三次握手。与书上写的一样:客户端发起握手请求......
  • delphi GUID相关操作
    GUID相关操作代码procedureTForm1.Button1Click(Sender:TObject);varGUID1,GUID2:TGUID;begin//创建GUIDifCreateGUID(GUID1)<>0thenMemo1.Lines.Add('创建失败');//转换为字符串Memo1.Lines.Add(GUIDToString(GUID1));//分段输出Memo1.Li......
  • 弹窗组件一般需要使用memo记忆化吗
    弹窗组件(Modal)是否需要使用记忆化(memoization),主要取决于该组件的性能优化需求以及其内部复杂性。记忆化是一种用于优化函数或组件性能的技术,它通过缓存先前计算的结果以避免在相同的输入参数下重复执行耗时的操作。对于一个简单的弹窗组件而言,如果其内容不涉及复杂的计算或者大量......
  • Ubuntu配置网络
    Ubuntu配置网络如果安装系统遇到网络设置的时候选择跳过,则进入系统后需要把网络配置设置好,否则无法访问网络。首先使用命令lshw-classnetwork查看网络设备lshw命令介绍lshw(lshardware)是一个提取机器硬件配置详细信息的工具,它能为我们提供内存配置、固件版本、主板配置信......
  • 网络流技术
    最大流/最小费用最大流这里不再讨论,使用Dinic即可。板子是可以感性理解然后背下来的。无源汇上下界可行流随便来一张网络,边上的流量有上下界,求一种所有点都满足流量平衡和上下界限制的方案。首先有一个想法是把上下界转换成只有上界,那么为了清除下界的障碍,我们就先把所有边......
  • vue2中el-tree组件实现双击树的节点来修改节点名称
    目标在没双击之前,树的节点是文本样式。在双击之后,节点位置变成输入框形式,原节点的名称显示在输入框中,可以进行修改。修改完毕之后,当输入框失去焦点的时候,输入框消失,又变成原本的文本样式,并且显示的是修改后的节点名称。添加一个树<template><div><el-tree......
  • .NET中使用BootstrapBlazor组件库Table实操篇
    前言Table表格在后台管理应用中使用的是相当频繁的,因此找一个功能齐全的前端框架对于我们而言是非常必要的,因为封装完善的前端框架能够大大提升我们的工作对接效率。今天我们主要来讲解一下在.NET中使用BootstrapBlazor组件库的Table表格组件(本章使用的数据都是程序自动生成的模......
  • R语言逻辑回归、决策树、随机森林、神经网络预测患者心脏病数据混淆矩阵可视化
    全文链接:https://tecdat.cn/?p=33760原文出处:拓端数据部落公众号概述:众所周知,心脏疾病是目前全球最主要的死因。开发一个能够预测患者心脏疾病存在的计算系统将显著降低死亡率并大幅降低医疗保健成本。机器学习在全球许多领域中被广泛应用,尤其在医疗行业中越来越受欢迎。机器......
  • RHCE第五周(网络客户端)
    一:浏览网页和下载curl和wget和elinks工具1:curl工具 1:选项-o将要浏览的网页另存为-O将浏览的网页下载-i查看服务信息以及状态码-x远程代理,要加上端口号,服务的安全性,隐藏了原来的端口号2:案例1)查看服务的信息以及状态码状态码:200(能够访问),301表示网址重定......