OPC UA协议报文,基础介绍+Hello报文解析

news/2024/10/23 14:26:17/

消息主要分为:消息头和附加字段

通讯过程

协议标准第一部分进行总体介绍;协议标准第四部分有详细介绍通讯过程

流程介绍

整体流程

连接套接字》Hello》打开安全信道》创建会话》关闭安全信道》关闭套接字

订阅等事件

服务器审核行为

聚合的服务器审核行为

HELLO报文如下

不能正常连接的报文

客户端发起连接

48 45 4C 46 55 00 00 00 00 00 00 00 FF FF 00 00 FF FF 00 00 C0 FF 3F 00 00 02 00 00 35 00 00 00 6F 70 63 2E 74 63 70 3A 2F 2F 6C 6F 63 61 6C 68 6F 73 74 3A 36 32 35 34 31 2F 51 75 69 63 6B 73 74 61 72 74 73 2F 52 65 66 65 72 65 6E 63 65 53 65 72 76 65 72

HELFU   ?? 5 opc.tcp://localhost:62541/Quickstarts/ReferenceServer

对应协议文档分析,前三个字节48 45 4C对应ascll中hel代表hello,F忽略,55000000为消息长度十进制85

对应TCP协议版本0,可以接收的最大消息65535,发送者最大消息65535,响应最大值3fffc0,响应最大块数512,客户端要连接的端口URL(这里没表述长度,但是前四个字节为消息长度,后面才是消息内容)

服务端返回错误码

45 52 52 46 38 00 00 00 00 00 7E 80 28 00 00 00 43 6C 69 65 6E 74 20 73 65 6E 74 20 61 6E 20 75 6E 65 78 70 65 63 74 65 64 20 48 65 6C 6C 6F 20 6D 65 73 73 61 67 65 2E

ERRF8 ~€( Client sent an unexpected Hello message.

可以正常连接的报文

48 45 4C 46 55 00 00 00 00 00 00 00 FF FF 00 00 FF FF 00 00 C0 FF 3F 00 00 02 00 00 35 00 00 00 6F 70 63 2E 74 63 70 3A 2F 2F 6C 6F 63 61 6C 68 6F 73 74 3A 36 32 35 34 31 2F 51 75 69 63 6B 73 74 61 72 74 73 2F 52 65 66 65 72 65 6E 63 65 53 65 72 76 65 72

HELFU   ?? 5 opc.tcp://localhost:62541/Quickstarts/ReferenceServer

收到的

41 43 4B 46 1C 00 00 00 00 00 00 00 FF FF 00 00 FF FF 00 00 00 00 40 00 41 00 00 00

ACKF..................@.A...

响应头同上发送的

其余应答信息如下:版本号和上面一致,发送者最大长度、接受者最大长度都是65535,请求消息最大值,最多块数


http://www.ppmy.cn/news/1114639.html

相关文章

【MediaSoup】mspush简单分析

大神的cppstreamer如何对ms 进行pull和push操作的。mspush就是与ms通信,创建发送stream,进行rtp推流到ms打开ts文件进行读取转rtp 先读取mpegts文件使用mpegtsdemux组件:source接口导入文件二进制流,解析后,通过sinker接口输出视频+音频的媒体流;读取ts 获取到音频和视频…

12306 抢票小助手: 完整易用的抢票解决方案 | 开源日报 0917

testerSunshine/12306 Stars: 31.4k License: MIT 12306 购票小助手是一个使用 Python 编写的项目,主要功能包括自动打码、自动登录、准点预售和捡漏、智能候补以及邮件通知等。该项目具有以下核心优势: 支持多个版本的 Python提供验证码本地识别功能可…

虚拟线上发布会带来颠覆性新体验,3D虚拟场景直播迸发品牌新动能

虚拟线上发布会是近年来在数字化营销领域备受关注的形式,而随着虚拟现实技术的不断进步,3D虚拟场景直播更成为了品牌宣传、推广的新选择。可以说,虚拟线上发布会正在以其颠覆性的新体验,为品牌带来全新的活力。 1.突破时空限制&am…

iPhone升级iOS17后待机模式不能用、没反应?这7个方法快速解决!

iPhone待机模式是苹果为iOS17版本加入的新功能之一,当我们不用iPhone 时,能将它随手放在一旁,并以横向全屏的方式观看时钟与App小工具资讯等。 不过有些果粉发现他们的iPhone待机模式不能用、没反应,照着步骤操作也无法进入iPhon…

【Springboot】Springboot如何优雅停机?K8S中Pod如何优雅停机?

什么是优雅停机: 就是对应用进程发送停止指令之后,执行的一系列保证应用正常关闭的操作。这些操作往往包括等待已有请求执行完成、关闭线程、关闭连接和释放资源等 就是对应用进程发送停止指令之后,能保证正在执行的业务操作不受影响&#x…

FPGA project : dht11 温湿度传感器

没有硬件,过几天上板测试。 module dht11(input wire sys_clk ,input wire sys_rst_n ,input wire key ,inout wire dht11 ,output wire ds ,output wire …

【Java实战项目】【超详细过程】—— 大饼的图片服务器

目录 一.下载前端模板二. 展示图片(index.htmll)1. 标题2. 页面跳转链接3. 图片展示引入js和vue依赖:写在html文件的head中js代码:写在html文件中的body中html代码:写在html文件的body中 二. 删除图片在上面的vue对象a…

为什么qt设置了utf-8 bom 格式后还是有乱码

有乱码 void SingleApplication::_showInstanceRunningDialog() {// 创建一个提示窗口QMessageBox msgBox;msgBox.setIcon(QMessageBox::Information);msgBox.setWindowTitle("应用已运行");msgBox.setText("应用程序已经在运行中。");msgBox.setStandardB…