FB_TCPClient/FB_TCPClient2 的属性
功能块 FB_TCPClient 和 FB_TCPClient2 为它们的监视和控制提供了多个属性。这些属性及其成员关系见下表。
FB_TCPClient 和 FB_TCPClient2 的常用属性
名称 |
数据类型 |
访问 |
描述 |
---|---|---|---|
IsReadable |
BOOL |
读取 |
指示 Receive 方法已经收到数据但还没有处理。 |
IsWritable |
BOOL |
读取 |
指示在连接所处的状态下数据可以发送到服务器。 |
PeerHasDisconnected |
BOOL |
读取 |
指示连接已被远程站点关闭。如果属实,将自动调用方法 Shutdown,并且状态更改为 Shutdown。 |
Result |
读取 |
指示上一次方法调用的结果。 如果结果不为 Ok,则即使调用了另一个方法,也会保持该结果值。 |
|
State |
读取 |
指示套接字的状态。 |
|
TotalBytesReceived |
ULINT |
读取 |
统计已接收字节的总数。(范围:1 ... 264-1) |
TotalBytesSent |
ULINT |
读取 |
统计已发送字节的总数。(范围:1 ... 264-1) |
SockOpt_CustomPort |
UDINT |
读/写 |
用于指定通过 FB_TcpClient 打开的连接应绑定的 TCP 端口。如果这个值设置为 0(缺省),则使用下一个可用端口。 |
SockOpt_KeepAlive |
BOOL |
读/写 |
如为 TRUE,则指示 TCP 栈定期发送空数据包以验证是否可抵达远程站点。如果不再如此,连接状态更改为 Shutdown。 注意: 在大多数情况下,设置此选项,以便在远程站点不可达(关机或电缆断开)的情况下,可以检测到这种不可达。 注意: 如果对服务器禁用了 KeepAlive 套接字选项,则不可为已连接客户端启用。 |
SockOpt_NoDelay |
BOOL |
读/写 |
如果为 TRUE,指示 TCP 堆栈发送数据,无需等待收到整个数据包。此选项可以降低吞吐量,但可改善延迟情况,这一点在工业应用中非常重要。 |
SockOpt_ReceiveBufferSize |
UDINT |
读/写 |
用于设置或获取栈的接收缓冲区大小。必须总是比一次接收的数据量大,以避免数据丢失。(范围:1 ... 2147483647) |
SockOpt_SendBufferSize |
UDINT |
读/写 |
用于设置或获取栈的发送缓冲区大小。必须总是比一次发送的数据量大。 (范围:1 ... 2147483647) |
名称 |
数据类型 |
访问 |
描述 |
---|---|---|---|
BytesAvailableToRead |
UDINT |
读取 |
指示接收缓冲区中使用 Receive 方法可读取的字节数。(范围:0 ... 2147483647) |
SockOpt_OutOfBandInline |
BOOL |
读/写 |
如果为 TRUE,指示 TCP 堆栈将 OutOfBand 数据作为常规数据流的一部分发送。 |
名称 |
数据类型 |
访问 |
描述 |
---|---|---|---|
TimeoutConnectTls |
UDINT |
读取/写入 |
指示使用方法 ConnectTls 建立连接时的超时(秒)。 |
TlsUsed |
BOOL |
读取 |
指示到服务器的 TCP 连接是否已使用方法 ConnectTls 来建立。 |