LabVIEWCompactRIO 开发指南21 使用TCP/IP时处理孤立套接字

news2024/11/14 17:11:36

LabVIEWCompactRIO 开发指南21

使用TCP/IP时处理孤立套接字

无法重新建立侦听TCP套接字是设计基于TCP/IP的应用程序时最常见的挑战之一。此症状是由终止客户端或服务器应用程序后发生的孤立套接字引起的。如果按照本节中所述的技术设计代码,则可以避免此问题。本节概述了孤立套接字以及使用TCP/IP进行网络通信时推荐的设计模式。

孤立套接字概述

使用基于TCP/IP的应用程序,有一个客户端/服务器方案,其中服务器侦听客户端打开连接的特定端口。建立连接后,客户端和服务器将交换数据,直到连接终止。终止可能由以下原因引起:

■故意终止(用户停止服务器或客户端应用程序)

■硬件断开连接或停机

■客户端或服务器应用程序崩溃

如果尝试在终止后立即恢复连接,则会看到一个错误对话框,错误代码为60,来自TCPListen.vi,类似于图4.27中的错误对话框。无法重新建立侦听TCPsocket是由孤立套接字引起的。孤立套接字是启动终止的套接字。如果在尝试重新建立连接之前等待60秒,错误消息将消失。但是,许多系统无法承受60秒的停机时间。

4.27.客户端/服务器连接终止时生成错误代码60

60秒超时是有意为之。识别孤立套接字后,TCP/IP会使该套接字在60秒内不可用,以便其他套接字无法与其通信。如果将TCP/IP与邮政服务进行比较,终止相当于一个家庭搬出家。邮政服务暂时关闭该邮箱,以便在新人搬进来时,他们不会收到不属于他们的邮件。TCP/IP故意使套接字不可用,以便它可以通过网络可靠地发送数据。

防止孤立套接字

本节提供了两种防止孤立套接字的方法。

设计应用程序,以便只有客户端才能终止连接

在大多数情况下,孤立套接字问题在服务器端更为严重。通常,客户端端口是动态分配的,但服务器端口是固定的。当服务器关闭连接时,服务器端口将被锁定。如果连接始终从客户端终止,则可以显著降低处理错误60的风险。

设计服务器应用程序时,需要遵循三个规则:

1.不要在超时时忽略超时错误来关闭连接。

2.如果要停止服务器应用程序,请向客户端发送消息并让客户端终止连接。等待非超时错误(62或56),并在出现错误时关闭服务器应用程序。

3.不要在发生事件时关闭服务器应用程序。如果发生应停止应用程序的事件,请向客户端发送消息并让客户端终止连接。然后在出错时关闭服务器应用程序。

4.28.此示例VI阻止服务器关闭网络连接。

分配动态端口

避免孤立套接字的另一种方法是在客户端和服务器上分配动态端口。有两种方法可以做到这一点:手动使用UDP建立端口(如果安装了STM参考库,请参阅STM Distributed Clients示例)或使用NI服务定位器。要使用NI服务定位器,则需要必须有LabVIEW8.5或更高版本,并且NI服务定位器必须运行。使用NI服务定位器时,将服务名称传递到TCP开放连接和TCP创建侦器函数上的服务名称输入中。

4.29.使用NI服务定位器确保客户端和服务器上的动态端口分配

需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/535987.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大数据拥抱云原生 HashData助力资管数字化转型

5月16日,2023国际资管科技创业者与投资者大会“资管数据处理(大模型)技术”专场在上海举行。本次大会以“资产管理 数智技术”为主题,邀请企业、高校、投资机构等各方开展产业交流与讨论,共享共创行业机遇。 酷克数据…

GPT-5: 超越人类语言的模型,你还不了解一下?

目录 一、GPT-5时代引领者 二、技术特性 1,音频和视频处理 — 更强大的多模态处理能力 2,GPT-5颠覆影视制作:重写媒体消费时代 3,为机器人提供智慧大脑 4,更强的垂直行业应用 三、回顾一下GPT5被紧急叫停&…

设计模式之【命令模式】,方法调用的花式玩法

文章目录 一、什么是命令模式1、命令模式使用场景2、命令模式的主要角色3、命令模式优缺点4、命令模式注意事项及细节 二、使用示例1、命令模式的一般写法2、播放器功能案例3、遥控器案例 三、源码中的命令模式1、Thread 一、什么是命令模式 命令模式(Command Patt…

图像分割标注工具——QuPath使用说明

0、QuPath资源一览 QuPath是一款病理学和生物图像定量分析的软件,支持多种标注方式。一些常用资源如下: 官网:QuPath 官方文档:https://qupath.readthedocs.io/en/stable/docs/intro/index.html 软件下载列表:http…

搜狗主动推送工具-搜狗推送接口自动推送

想要让自己的网站被搜狗快速收录,以下是一些优化建议: 提交网站地图:将网站地图提交到搜狗搜索引擎,能够让搜索引擎更快速地爬取和发现网站所有的页面。同时在网站地图中应该包含网站所有页面的链接,方便搜狗搜索引擎爬…

【读书笔记】《亲密关系》

作者:美国的罗兰米勒 刚拿到这本书的时候,就被最后将近100页的参考文献折服了,让我认为这本书极具专业性。 作者使用了14章,从人与人之间是如何相互吸引的,讲到如何相处与沟通,后又讲到如何面对冲突与解决矛…

openAI国内的免费镜像网站列表分享

1.ChatGPT For Free 地址:https://gpt4.gravityengine.cc/ 2.老北鼻AI智能助手 地址:https://739167295.ai201.live/ 3.AIChatOS 地址:https://chat.jinshutuan.com/#/chat/1684287150613 4.AIGPT 地址:http://20200.cn…

【Linux命令】mount / umount命令、查看文件的挂载情况(lsblk)

在Windows环境下,我们可以直接访问检测到的外部设备,如磁盘、U盘等;然而在Linux环境下,外部硬件设备如磁盘、SD卡等外部设备是无法直接访问的。因此就需要挂载。 参考链接:mount 详解 目录 1、什么是挂载?…

使用Vivado创建一个点亮FPGALED灯的项目

说明 1、本文针对没有使用过Vivado,也不知道如何用Vivado创建一个项目的朋友。 2、本文内容为用Vivado创建一个点亮FPGA LED灯项目的全部流程。 正文 1、创建一个新项目,点击创建新项目,并点击next。 2、选择项目名称和项目保存路径。 3、…

时间序列-相关性-ACF PACF CCF

一、自相关系数: 衡量的是同一个时间序列内的两个不同的时间段的相关性 弱平稳 If波动,波动幅度也是固定的。 相关图 不同时间间隔的相关系数算出来并且绘制在图中 例:(python) 分析: ①当时间间隔为0的时候,相关系…

【MongoDB】MongoDB分布式文件存储的数据库

一、数据库简介 1、数据库 数据库是按照数据结构来组织、存储和管理数据的仓库;我们的程序都是在内存中运行的,一旦程序运行结束或者计算机断电,程序运行中的数据都会丢失;所以我们就需要将一些程序运行的数据持久化到硬盘中&am…

计算机信息安全保护等级划分为五个安全级别

《计算机信息安全保护等级划分准则》将计算机信息安全保护等级划分为五个安全级别: 安全级别级别名称是否需要备案对公民、法人和其他组织的合法权益造成的损害程度对社会秩序、公共利益造成的损害程度对国家安全造成的损害程度适用范围重要程度第一级自主保护级无…

智能感知编码优化与落地实践

作者 | XHF 导读 基于人眼视觉特性出发的感知编码优化技术,成为互联网短视频、OTT 等 UGC 场景的重点优化手段,可以在降低视频码率的同时,提升视频的观看体验。 今天主要有 4 个方面的内容。首先给大家介绍一下感知编码的技术背景&#xff1b…

论性价比,这家奥威BI大数据分析平台很能打

论性价比,国产BI大数据分析平台几乎是毫无悬念地胜过大多数外国BI,而在国产BI大数据分析平台里,奥威BI的性价比也是出了名地高。在同等价位的BI大数据分析平台中,奥威BI大数据分析平台不仅能提供智能高效的数据分析功能、花样繁多…

推动飞盘运动发展 冯氏集团承办中国飞盘联赛·上海站获圆满成功

5月14日下午,由冯氏集团主承办的2022-2023年中国飞盘联赛 上海站在上海市民体育公园足球公园圆满落幕,这是冯氏集团继去年创立飞盘俱乐部冠军赛(Ultimate Clubs Championship Series,简称UCCS)后,在飞盘及城…

springboot+jsp法律知识分享网站普法平台

法律知识分享平台,主要的模块包括查看主页、个人中心、用户管理、律师事务所管理、律师管理、法律资讯管理、案例分析管理、案例分享管理、法规信息管理、法规分享管理、留言信息管理、留言回复管理、论坛管理、系统管理等功能。系统中管理员主要是为了安全有效地存…

【教程】Warp/ZeroTrust 1.1.1.1 域名解析服务的安装与使用

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 目录 扫盲 安装 验证 说明 扫盲 1.1.1.1是一款免费的域名解析服务,也就是域名服务器,由CloudFlare与APNIC共同拥有与维护。该服务于2018年4月1日发表启用,且被Cloudflare称…

全局异常处理器

文章目录 一、全局异常处理器1.1 程序1.2 ControllerAdvice 注解 二、封装结果集 一、全局异常处理器 各层代码出现异常,我们是如何处理的? ​ 未做处理。 ​ 如果是在Mapper层出现异常,会抛给Service,Service会抛给Controller…

基于Java+SpringBoot制作一个论坛小程序

制作一个论坛互动平台,让兴趣志同道合者用户聚集在这里交流话题、展示自我、结交朋友。 一、小程序1.1 项目创建1.2 首页1.3 论坛板块页1.4 个人中心页1.5 帖子详情页二、API2.1 SpringBoot框架搭建

基于html+css的图展示74

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…