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

第十七章 TCP 客户端 服务器通信 - 使用OPEN命令

文章目录

  • 第十七章 TCP 客户端 服务器通信 - 使用OPEN命令
    • 使用`OPEN`命令
      • `hostname` 参数

第十七章 TCP 客户端 服务器通信 - 使用OPEN命令

使用OPEN命令

OPEN命令保留一个TCP绑定设备供使用。其语法为:

OPEN devicename:parameters:timeout:mnespace
  • devicename - 一个|TCP|格式的字符串,后面跟着一些数字数字。设备名称的数字部分称为设备标识符。如果OPEN参数中没有指定端口号,则该设备标识符必须是唯一的5TCP端口号。如果在OPEN参数中指定了端口号(这是首选的实践),这个设备标识符可以是任何唯一的数字(最多2147483647),只要单个作业使用的所有TCP设备名称是不同的。

  • parameters - 可选-一系列一个或多个设备参数,用括号括起来,用冒号()分隔。如果省略了某个参数,请为缺少的参数指定冒号分隔符。(对于服务器端OPEN,始终省略第一个参数。)。具体参数说明如下。

    如果只指定第一个参数(hostname),可以省略括号。例如客户端open: open "|TCP|7000":"127.0.0.1":10。如果不指定参数,则可以省略圆括号,但必须保留冒号作为分隔符。例如:服务器端open: open "|TCP|7000"::10

  • timeout - 可选- IRIS尝试打开TCP设备的最大秒数。如果在此间隔内没有成功,它会将$TEST设置为0,并将控制权返回给进程。如果成功,它会将$TEST设置为1。在来自客户端的OPEN命令中包含超时可防止客户端系统在服务器忙于处理另一个客户端时尝试打开连接时挂起。服务器一次只能打开一个连接。

  • mnespace - 可选-支持所有的对象脚本OPEN命令。没有用于TCP绑定的预定义助记符空间。

如果省略开放参数,则可以通过指定冒号分隔符来指示其缺失。

尽管TIMEOUT参数是可选的,但强烈建议使用它,因为打开的成功或失败由$TEST特殊变量的值指示,并且只有在指定了TIMEOUT的情况下才会设置$TEST。如果在超时到期之前打开尝试成功,则$TEST设置为1;如果超时到期,则$TEST设置为0

如果Windows系统上的tcp连接尝试失败,则tcp连接错误将被写入IRIS系统错误日志,例如,错误代码10061=WSAECONNREFUSED

以下是客户端打开的示例,其中7000是端口号,"127.0.0.1"parameters参数(主机名,指定为IPv4地址):

  SET dev="|TCP|7000"
  OPEN dev:("127.0.0.1":7000)

hostname 参数

客户端OPEN需要HostName参数。客户端参数可以只是主机名,也可以是主机名后跟其他冒号分隔的参数。如果仅指定主机名参数,则可以省略参数圆括号。

服务器端参数省略了主机名。

主机名可以是IP主机的名称(来自本地系统的远程主机数据库),也可以是IPv4IPv6协议格式的IP地址。由于这些协议不兼容,服务器和客户端必须使用相同的Internet协议,否则传输将失败。

IPv4地址具有以下格式。N是介于0255之间的十进制整数:

n.n.n.n

IPv6地址的完整格式如下。H是具有四个十六进制数字的十六进制数:

h:h:h:h:h:h:h:h

通常,IPv6地址的缩写方式是消除前导零并用双冒号(::)替换连续的零部分;IPv6地址中只能使用一个双冒号。通过使用IPv4缩写规则,可以将IPv6环回地址指定为"::1"(这意味着前七个连续的h部分都具有值0000,并且第八个部分中的前导零被删除)。

可以使用OPEN关键字/USEIPV6来指定要使用的协议。


http://www.kler.cn/a/390260.html

相关文章:

  • JQuery封装的ajax
  • 链游系统定制化开发:引领游戏产业的新时代
  • 【Qt-ROS开发】使用 Qt Creator 构建和编译含 ROS 库的 Qt 项目
  • 信号量和线程池
  • 品融电商:新形势下电商平台如何助力品牌长期经营
  • 什么是两化融合
  • 使用 VueJS 构建 VS Code 扩展
  • 【QT常用技术讲解】任务栏图标+socket网络服务+开机自启动
  • mysql数据库(四)单表查询
  • 【idea】idea2024版本创建项目时没有java 8的版本选择
  • TOEIC 词汇专题:科技硬件篇
  • 【AI新领域应用】AlphaFold 2,原子级别精度的蛋白质3D结构预测,李沐论文精读(2021Nature封面,2024诺贝尔奖)
  • Python——飞机大战
  • 如何在 FastReport VCL 中创建报告时使用样式
  • Springboot 使用EasyExcel导出含图片并设置样式的Excel文件
  • 第四十二章 Vue中使用mutations修改Vuex仓库数据
  • 【JAVA】-Springboot核心机制
  • 智能量化模型在大数据下的中阳策略发展
  • 基于Python的高校成绩分析管理系统
  • 计算机新手练级攻略——如何搜索问题
  • 软考知识备忘
  • 【Linux进程篇3】说白了,Linux创建进程(fork父子进程)也就那样!!!
  • MySQL基础篇总结
  • vue/react前端项目自定义js脚本实现自定义部署等操作
  • 高级java每日一道面试题-2024年11月01日-Redis篇-Redis支持的数据类型有哪些?
  • Android 编译系统