当前位置: 首页 > news >正文

第二十二章 TCP 客户端 服务器通信 - TCP设备的OPEN和USE命令关键字

文章目录

  • 第二十二章 TCP 客户端 服务器通信 - TCP设备的OPEN和USE命令关键字
  • `TCP`设备的`OPEN`和`USE`命令关键字
        • `TCP`设备的`OPEN`和`USE`命令关键字

第二十二章 TCP 客户端 服务器通信 - TCP设备的OPEN和USE命令关键字

TCP设备的OPENUSE命令关键字

可以使用位置参数(如上所述)或关键字参数。下表描述了使用OPENUSE命令控制TCP设备的关键字。还有其他只能在OPEN命令中指定的OPEN-only关键字(本章稍后将描述)。所有关键字参数都是可选的。

TCP设备的OPENUSE命令关键字
KeywordDefaultDescription
/ABSTIMEOUT[=1]0指定读超时行为。确定TCP在接收到数据时是否应重新初始化超时时间。如果/ABSTIMEOUT=0(默认值),则每次接收数据时timeout都会重置为原始值。如果/ABSTIMEOUT/ABSTIMEOUT=1,则在接收数据时超时时间继续倒数。
/ACCEPT[=n] or /ACC[=n]0对应于“A”模式参数字符,该参数指定一旦接受来自客户端作业的连接,服务器上的初始读取就以零长度字符串终止。/ACCEPT/ACCEPT=n对于n的非零值启用A模式。/ACCEPT=n表示零值n禁用a模式。
/CLOSEFLUSH[=n]1指定当设备关闭时,对保留在输出缓冲区中的数据的处理。/CLOSEFLUSH/CLOSEFLUSH=n对于n的非零值将刷新剩余数据。/CLOSEFLUSH=n表示n为零时丢弃剩余数据。
/COMPRESS=str""指定流数据压缩类型。可以启用压缩类型为ZLIBZSTD。可以指定/COMPRESS=""来禁用压缩。/COMPRESS="zlib"等价于/GZIP=1。要压缩字符串,使用%SYSTEM.Util.Compress()
/CRLF[=n]0对应于“C”模式参数字符,它修改输入和输出时回车的处理。/CRLF/CRLF=nn的非零值启用C模式。/CRLF=n对于零值n禁用C模式。
/ESCAPE[=n]or/ESC[=n]0对应于“E”模式参数字符,它指定输入流中的转义序列被解析并放入$ZB中。/ESCAPE/ESCAPE=n对于n的非零值启用E模式。/ESCAPE=n对于零值n禁用E模式。
/GZIP[=n]1指定兼容gzip的流数据压缩。/GZIP/GZIP=n(对于n的非零值)在WRITE时进行压缩,在READ时进行解压缩。/GZIP=0禁用压缩和解压。在发出/GZIP=0来禁用压缩和解压之前,检查$ZEOS特殊变量以确保流数据读取没有进行。/GZIP压缩对I/O转换没有影响,例如使用/IOTABLE建立的转换。这是因为压缩是在所有其他转换(加密除外)之后应用的,而解压是在所有其他转换(加密除外)之前应用的。
/IOTABLE[=name]or/IOT[=name]如果不指定name,则使用设备默认的I/O转换表。为设备建立I/O转换表。
/KEEPALIVE=n系统默认值(仅适用于WindowsAIXLinux)为设备设置不同于系统默认值的保活定时器。一个整数,指定TCP连接保持活跃的秒数。与位置参数keepalivetime相同。有效值为30 ~ 432000。(432000秒等于5天。)小于30的值默认为30。如果省略或设置为0,则使用系统默认值。可以使用/NOKEEPALIVE禁用此设置;一旦禁用,它就不能重新启用,直到这个TCP设备被关闭。
/NODELAY=n1指定数据包是捆绑发送还是单独发送。如果/NODELAY=1(缺省值),则立即发送每个数据包。如果/NODELAY=0, TCP驱动程序使用优化算法将包捆绑在一起。这可能会对单个数据包造成轻微的传输延迟,但通过减少网络流量,可以提高整体性能。/NODELAY没有对应的模式参数字符。/NODELAY的使用应该与/SENDIMMEDIATE的使用协调。
/NOKEEPALIVE如果指定该参数,则在此设备上禁用系统级TCP keepalive定时器。 IRIS在打开任何TCP设备时默认启用此定时器;在OPENUSE上发出/NOKEEPALIVE选项会覆盖这个默认值。如果/KEEPALIVE已被用于设置非默认的KEEPALIVE定时器,/NOKEEPALIVE将禁用该KEEPALIVE定时器。一旦禁用了keepalive定时器,就没有办法重新启用它,直到TCP设备关闭。看到/ KEEPALIVE
/NOXY[=n]0禁止$X$Y处理:/NOXY/NOXY=n(对于n的非零值)禁用$X$Y处理。当设备$X/$Y未被使用时,该选项可以提高性能,例如CSP。它可以极大地提高READWRITE操作的性能。此选项是超级服务器工作作业的默认设置。当/NOXY=1时,$X$Y变量的值是不确定的,保证金处理(取决于$X)被禁用。/NOXY=0启用$X$Y处理;这是默认值。/TCPNOXY/NOXY的同义词。
/OBCOUNT=n16用于/ZEROCOPY的输出缓冲区数量。输出缓冲区的默认数量是16。输出缓冲区的最小数量是2,最大数量是128n的值必须是2的幂;如果指定了非2的幂值,则将其四舍五入为2的幂。
/PAD[=n]0对应于" P "模式参数字符,该参数指定当WRITE !(LF结束符)或writ# (FF结束符)被执行。/PAD/PAD=n为n的非零值启用P模式。/PAD=n对于零值n禁用P模式。
/PARAMS=str or /PAR=str没有默认对应于模式位置参数。(它提供了一种以位置无关的方式指定模式字符串的方法。)
/POLL[=n] or /POLLDISCON[=n]对应于“D”模式参数字符,它指定断开连接的异步监视。/POLL/POLL=1对应+D/POLL=0对应-D
/PSTE[=n]0对应于“M”模式参数字符,这是指定P、S、T和E模式参数字符的一种简便方法。/PSTE/PSTE=n的非零值n启用P, S, T和E模式。/PSTE=n对于零值n禁用这些模式。
/SENDIMMEDIATE[=n] or /SEN[=n]0对应于“Q”模式参数字符,它指定发送立即模式。
`/SSL="cfg[pw] [DNShost]" or /TLS="cfg[
/STREAM[=n] or /STR[=n]0对应于“S”模式参数字符,它指定了一种不保留 TCP 消息边界的处理数据的流模式。 /STREAM/STREAM=n 对于 n 的非零值启用 S 模式。 /STREAM=n 对于 n 的零值禁用 S 模式。
/TCPNOXY已弃用。 /NOXY 的同义词。
/TCPRCVBUF=n默认接收缓冲区大小设置接收队列缓冲区大小,以字节为单位。可用于从默认值增加缓冲区大小以支持 TCP 协议大窗口。大窗口提高了具有长延迟或非常高带宽的链路的性能。有关适当的值,请参阅您的操作系统/硬件文档。
/TCPSNDBUF=n默认发送缓冲区大小设置发送队列缓冲区大小,以字节为单位。可用于从默认值增加缓冲区大小以支持 TCP 协议大窗口。大窗口提高了具有长延迟或非常高带宽的链路的性能。
/TERMINATOR=str or /TER=str无默认对应于 terminators 位置参数,它建立用户定义的终止符。
/TMODE[=n] or /TMO[=n]0对应“T”模式参数字符,指定CR、LF、FF为标准读终止符。 /TMODE/TMODE=n 对于 n 的非零值启用 T 模式。 /TMODE=n 对于 n 的零值禁用 T 模式。
/TRANSLATE[=n] or /TRA[=n]1/TRANSLATE/TRANSLATE=n 对于 n 的非零值启用设备的 I/O 转换。 /TRANSLATE=n 对于 n 的零值禁用设备的 I/O 转换。
/WAIT[=n]0对应于“W”模式参数字符,这会导致输出缓冲区不被 WRITE 刷新!和 WRITE # 命令。相反,刷新会等到下一个 WRITE *-3 命令。 /WAIT/WAIT=n 对于 n 的非零值启用 W 模式。 /WAIT=n 对于 n 的零值禁用 W 模式。
/WRITETIMEOUT[=n]1TCP写操作建立超时时间(以秒为单位)。如果写操作没有在n秒内完成, IRIS将发出<TCPWRITE>错误。如果发出<TCPWRITE>错误,应用程序应该立即关闭TCP设备以防止数据丢失。在<TCPWRITE>错误后, IRIS将不会尝试TCP写操作。最小n值与系统相关。如果n小于该平台的最小超时值, IRIS将使用该平台的最小超时值。n不能小于2。默认值(-1)表示不强制执行超时。
/XYTABLE[=name] or /XYT[=name]如果不指定name,则使用设备默认的$X/$Y动作表。为设备建立一个$X/$Y操作表。
/ZEROCOPY[=bool]0如果指定了/ZEROCOPY/ZEROCOPY=1,则开启该TCP设备的ZEROCOPY特性。ZEROCOPY支持TCP设备的多个输出缓冲区,以便在send()上利用MSG_ZEROCOPY;TCP设备不能重用输出缓冲区,直到缓冲区被TCP堆栈的通知确认。使用/OBCOUNT关键字为TCP设备设置输出缓冲区的数量。如果指定/ZEROCOPY=0,则关闭此TCP设备的ZEROCOPY特性。Linux 4.15及以上版本支持MSG_ZEROCOPY。如果操作系统不支持MSG_ZEROCOPY,则TCP设备的ZEROCOPY始终处于关闭状态。

相关文章:

第二十二章 TCP 客户端 服务器通信 - TCP设备的OPEN和USE命令关键字

文章目录 第二十二章 TCP 客户端 服务器通信 - TCP设备的OPEN和USE命令关键字TCP设备的OPEN和USE命令关键字TCP设备的OPEN和USE命令关键字 第二十二章 TCP 客户端 服务器通信 - TCP设备的OPEN和USE命令关键字 TCP设备的OPEN和USE命令关键字 可以使用位置参数(如上所述)或关键…...

CSS 语法规范

基本语法结构 CSS 的基本语法结构包含 选择器 和 声明块,两者共同组成 规则集。规则集可以为 HTML 元素设置样式,使页面结构和样式实现分离,便于网页的美化和布局调整。 CSS 规则集的结构如下: selector {property: value; }选择器(Selector) 选择器用于指定需要应用…...

Linux开发常用命令

文章目录 开发常用命令包管理 网络操作用户和权限系统监控nohup和screen的区别 开发常用命令 Linux开发中常用的命令非常多&#xff0c;以下是一些基本且重要的命令&#xff0c;这些命令对于日常的开发工作流程至关重要&#xff1a; 文件和目录操作 ls&#xff1a;列出目录内…...

Linux第92步_如何编写“设备树”下的platform设备驱动

Linux字符设备驱动&#xff0c;新字符设备驱动和设备树下的GPIO驱动&#xff0c;都是配置IO引脚所使用的GPIO寄存器&#xff0c;驱动开发方式和裸机没啥区别。Limux内核提供了pinctrl和gpio子系统用于GPIO驱动&#xff0c;借助它可简化GPIO驱动开发。 对GPIO进行读写操作&#…...

从零开始学习 sg200x 多核开发之 eth0 MAC 地址修改

在 sophpi 中&#xff0c;默认网卡 eth0 的 MAC 地址未配置&#xff0c;是随机生成的。这样就会导致每次重启之后&#xff0c;MAC 地址会改变&#xff0c;从而导致通过 DHCP 获取 IP 地址每次也都在变化。 查看 MAC 地址 前文提到 eth0 自动使能并通过 DHCP 获取 IP 地址&…...

JMeter与大模型融合应用之JMeter日志分析服务化实战应用

JMeter与大模型融合应用之JMeter日志分析服务化 引言 在当今的互联网时代,网站和应用程序的性能直接影响到用户的体验和业务的成功。为了保证系统的稳定性和高效性,性能测试成为了软件开发过程中的一个重要环节。在这其中,Apache JMeter作为一款开源的性能测试工具,凭借其…...

AtCoder Beginner Contest 380(A-F)

比赛链接&#xff1a;AtCoder Beginner Contest 380(A-F) A - 123233 题意 给出一个数字 N N N&#xff0c;问这个数字中是否 1 1 1 恰好出现了 1 1 1 次&#xff0c; 2 2 2 恰好出现了 2 2 2 次&#xff0c; 3 3 3 恰好出现了 3 3 3 次。 数据范围 100000 ≤ N ≤ 99…...

多线程-阻塞队列

目录 阻塞队列 消息队列 阻塞队列用于生产者消费者模型 概念 实现原理 生产者消费者主要优势 缺陷 阻塞队列的实现 1.写一个普通队列 2.加上线程安全和阻塞等待 3.解决代码中的问题 阻塞队列 阻塞队列&#xff0c;是带有线程安全功能的队列&#xff0c;拥有队列先进…...

el-table合并单元格之后,再进行隔行换色的且覆盖表格行鼠标移入的背景色的实现

el-table 中有现成的隔行换色功能&#xff0c;只要增加 stripe 属性即可。但是如果有单元格合并的话&#xff0c;这个属性就不可用了。这时候我们就需要动点小心思了。 基于相同字段进行合并 单元格合并&#xff1a;基于表头中的某一列&#xff0c;具有相同值的个数相加进行合…...

java模拟键盘实现selenium上下左右键 table中的左右滚动条实现滚动

在这篇文章中&#xff0c;我们将学习如何使用Java编程语言模拟键盘输入&#xff0c;特别是模拟上下左右方向键的操作。这是一个很有趣的项目&#xff0c;尤其适合刚入行的开发者。我们将分步进行&#xff0c;接下来&#xff0c;我们会通过表格展示整个实现过程&#xff0c;然后…...

SDF,一个从1978年运行至今的公共Unix Shell

关于SDF 最近发现了一个很古老的公共Unix Shell服务器&#xff0c;这个项目从1978年运行至今&#xff0c;如果对操作系统&#xff0c;对Unix感兴趣&#xff0c;可以进去玩一玩体验一下 SDF Public Access UNIX System - Free Shell Account and Shell Access 注册方式 我一…...

前馈神经网络 (Feedforward Neural Network, FNN)

代码功能 网络定义&#xff1a; 使用 torch.nn 构建了一个简单的前馈神经网络。 隐藏层使用 ReLU 激活函数&#xff0c;输出层使用 Sigmoid 函数&#xff08;适用于二分类问题&#xff09;。 数据生成&#xff1a; 使用经典的 XOR 问题作为数据集。 数据点为二维输入&#xff…...

【Python进阶】Python中的数据库交互:使用SQLite进行本地数据存储

1、数据持久化与访问效率 数据持久化是指程序运行过程中产生的数据能够长期保存&#xff0c;即使程序关闭或系统重启后仍可读取和修改。通过数据库&#xff0c;我们可以确保数据持久化的同时&#xff0c;实现数据的快速访问。例如&#xff0c;银行系统需要实时更新账户余额&am…...

ZooKeeper单机、集群模式搭建教程

单点配置 ZooKeeper在启动的时候&#xff0c;默认会读取/conf/zoo.cfg配置文件&#xff0c;该文件缺失会报错。因此&#xff0c;我们需要在将容器/conf/挂载出来&#xff0c;在制定的目录下&#xff0c;添加zoo.cfg文件。 zoo.cfg logback.xml 配置文件的信息可以从二进制包…...

函数指针示例

目录&#xff1a; 代码&#xff1a; main.c #include <stdio.h> #include <stdlib.h>int Max(int x, int y); int Min(int x, int y);int main(int argc, char**argv) {int x,y;scanf("%d",&x);scanf("%d",&y);int select;printf(&q…...

vue如何实现组件切换

一、使用条件渲染 (v-if) <template><div><button click"currentView ComponentA">Show Component A</button><button click"currentView ComponentB">Show Component B</button><component-a v-if"curren…...

计算机视觉 1-8章 (硕士)

文章目录 零、前言1.先行课程&#xff1a;python、深度学习、数字图像处理2.查文献3.环境安装 第一章&#xff1a;概论1.计算机视觉的概念2.机器学习 第二章&#xff1a;图像处理相关基础1.图像的概念2.图像处理3.滤波器4.卷积神经网络CNN5.图像的多层表示&#xff1a;图像金字…...

整数唯一分解定理

整数唯一分解定理&#xff0c;也称为算术基本定理&#xff0c;是由德国数学家高斯在其著作《算术研究》中首次提出的。本文回顾整数唯一分解定理以及对应的几个重要结论。 一、整数唯一分解定理 整数唯一分解定理&#xff0c;也称为算术基本定理&#xff0c;是数论中的一个重…...

Grass脚本2倍速多账号

前言&#xff0c;小编也是第一次撸空投&#xff0c;我是抱着试一试的态度&#xff0c;梦想总是要有的万一白嫖了呢 Grass 是什么&#xff1f; Grass 扩展程序是一款创新的工具&#xff0c;它可以帮助您释放未使用的网络资源的力量。 通过分享您的剩余带宽&#xff0c;您可以赚…...

15分钟学 Go 第 56 天:架构设计基本原则

第56天&#xff1a;架构设计基本原则 学习目标 理解和掌握基本的架构设计原则&#xff0c;以提升软件系统的可维护性、可扩展性和可重用性。 内容提纲 架构设计原则概述常见架构设计原则 单一职责原则 (SRP)开放/封闭原则 (OCP)里氏替换原则 (LSP)接口分离原则 (ISP)依赖反…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态

前言 在人工智能技术飞速发展的今天&#xff0c;深度学习与大模型技术已成为推动行业变革的核心驱动力&#xff0c;而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心&#xff0c;系统性地呈现了两部深度技术著作的精华&#xff1a;…...

LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)

在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...

【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL

ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...

大模型——基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程

基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程 下载安装Docker Docker官网:https://www.docker.com/ 自定义Docker安装路径 Docker默认安装在C盘,大小大概2.9G,做这行最忌讳的就是安装软件全装C盘,所以我调整了下安装路径。 新建安装目录:E:\MyS…...