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

第三十章 TCP 客户端 服务器通信 - 作业服务器资源

文章目录

  • 第三十章 TCP 客户端 服务器通信 - 作业服务器资源
    • 作业服务器资源
    • 自动切断
    • 断开连接的影响
    • 相关类

第三十章 TCP 客户端 服务器通信 - 作业服务器资源

作业服务器资源

如果正在编写一个IRIS服务器来与无法控制的客户端连接,则服务器进程必须发出CLOSE命令来关闭TCP连接。就 IRIS而言,CLOSE命令确实会关闭连接,但是在内部TCP/IP会在服务器上为这个连接保留最长两分钟的资源。

jobserver用于为TCP/IP作业提供服务时,可能会产生意想不到的结果。当一个JOBSERVER进程执行暂停时,该进程立即返回到可用的JOBSERVER进程池,但其资源在内部保留最多两分钟。由于JOBSERVER进程是在第一个可用的基础上分配的,因此来自数量相对较少的客户机的重载可能会耗尽JOBSERVER进程的资源。

为了避免这个问题,在JOBSERVER下运行的JOB打开的TCP/IP服务器应该显式地发出一个CLOSE命令,然后在最后的QUITHALT)命令之前发出一个简短的HANG命令。根据TCP/IP规范,需要一个HANG 120来保证在JOBSERVER的转世之间没有资源仍在使用。在实践中,一秒的HANG通常足以在JOBSERVER进程之间均匀地分配资源负载。

自动切断

TCP绑定连接在以下条件下自动关闭:

  • IRIS致命错误

  • 客户端或服务器进程的RESJOB

  • iris stop

  • iris force

断开连接的影响

断开连接对保留在输出缓冲区中的数据的影响由OPENUSE期间建立的/CLOSEFLUSH设置决定。默认是刷新数据。

如果一方关闭连接,但另一方发出新的WRITE命令,则第一个WRITE命令可能成功。任何附加的WRITE命令都会收到<WRITE>错误。

从客户端,所有发送到关闭连接端的READ命令都收到<READ>错误。必须关闭设备并重新打开,以重新与服务器建立通信。

在服务器端,<READ><WRITE>错误后的第一个READ等待并接受一个新的连接。

可以使用%SYSTEM.TCPDevice.GetDisconnectCode()在方法中以返回导致当前TCP设备上<READ><WRITE>错误的内部错误。$IO必须是TCP设备。

相关类

%SYSTEM.INetInfo
%SYSTEM.TCPDevice
%SYSTEM.Socket
%IO.Socket


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

相关文章:

  • Go语言反射(Reflection)详解:探索reflect包中的Type和Value
  • 【Java 解释器模式】实现高扩展性的医学专家诊断规则引擎
  • 基于STM32的智能家居电器控制系统
  • 图形化界面MySQL(MySQL)(超级详细)
  • 【视频】二维码识别:libzbar-dev、zbar-tools(zbarimg )
  • 私有化部署视频平台EasyCVR宇视设备视频平台如何构建视频联网平台及升级视频转码业务?
  • 【c++篇】掌握动态内存的奥妙
  • 丑数 详解
  • 修改ffmpeg实现https-flv内容加密
  • apache、iis屏蔽限制ip访问(适用虚拟主机)
  • C语言-详细讲解-洛谷P1420 最长连号
  • 字符串-07-判断两个IP是否属于同一子网
  • 微信小程序中使用iconfont的详细教程
  • Python棉花病虫害图谱系统CNN识别+AI问答知识neo4j vue+flask深度学习神经网络可视化
  • grep/egrep正则表达式
  • Linux基本指令的使用
  • 力扣 239. 滑动窗口最大值
  • 数字化工厂 MES试点方案全解析(三)
  • 行为树详解(2)——最简单的行为树
  • LeetCode题练习与总结:棋盘上的战舰--419
  • 【Python爬虫五十个小案例】爬取豆瓣电影Top250
  • ElasticSearch7.x入门教程之索引数据类型和映射(四)
  • 11.21 小清新图论专场训练
  • 华为FusionCube 500-8.2.0SPC100 实施部署文档
  • 项目实战:Vue3开发一个购物车
  • ComfyUI绘画|SD WebUI 与 SD ComfyUI 的区别