IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Node-Red Tcp控件使用 -> 正文阅读

[网络协议]Node-Red Tcp控件使用

TCP控件

一.简介

TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。不论是在计算机网络OSI模型中,还是在因特网协议族(Internet protocol suite)中,TCP层都可以发送用于网间传输的、用8位字节表示的数据流,并把数据流分区成适当长度的报文段。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。TCP用一个校验函数来检验数据是否有错误;在发送和接收时都要计算校验和。
  简单来说,TCP提供了不同设备之间的网络连接。
在这里插入图片描述
 提供了TCP输入的选择。可以连接到远程TCP端口,也可以接收传入的连接。
TCP的输出
  提供TCP输出的选择。可以连接到远程TCP端口,接受传入的连接,或者回复从节点上的TCP接收到的消息。
  只发送msg.payload。
  如果msg.payload是一个包含二进制数据的Base64编码的字符串,Base64解码选项将使它在发送之前被转换回二进制。
  如果msg._session(会话)不存在,payload会发送给所有连接的从机(或者说客户端)。
  注意:在某些系统上,您可能需要root或管理员访问,以访问1024以下的端口。

我们的TCP案例使用C/S结构。即Client/Server (客户端/服务器) 结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销。
  客户端和服务器的程序不同,用户的程序主要在客户端,服务器端主要提供数据管理、数据共享、数据及系统维护和并发控制等,客户端程序主要完成用户的具体的业务。
  作为server的时候必须配置端口。
  作为client的时候需指明server的IP和端口。

二.TCP作为客户端

1.为了方便演示,这里使用Tcp工具模拟一个Tcp的服务端
在这里插入图片描述
Node-red里我们实现一个应声虫的程序,即收到什么,就发什么。TCP in与TCP out节点各拖入一个。然后进行如下设置:
在这里插入图片描述
类型选择连接,表示node-red里运行的是客户端。客户端需要指明服务器的IP和端口,要与串口助手的设置一样。
设置完成以后,连线并部署。如果程序没有问题,可以看到TCP控件显示已连接。
在这里插入图片描述
在Tcp 测试工具中发送消息
在这里插入图片描述
在node-red内的调试窗口,可以看到debug节点打印出的调试信息内容也正确:

在这里插入图片描述
说明,node-red中的TCP控件作为客户端的通信成功了。特别说明一下,在C/S结构中,一个服务器可以对应多个客户端,即便是有多个客户端连接一个服务器,通信也是可以成功的。

三.TCP作为服务端

1.在tcp测试工具中新建一个客户端
在这里插入图片描述
Node-red里我们仍然编写应声虫的程序。拖入新的TCP in与TCP out节点,由于同一个IP与端口下只能有一个服务器,因此两个节点分别如下设置:
在这里插入图片描述
在这里插入图片描述
连线部署
在这里插入图片描述
部署成功后连接客户端 connections显示大于0说明连接成功
在这里插入图片描述
测试客户端发送数据
在这里插入图片描述
接收数据
在这里插入图片描述
显然已经可以通信了;此时,再打开一个串口助手,正确配置为client以后,也可以实现这些功能。因为一个服务器可以对应多个客户端。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-01-01 14:20:18  更:2022-01-01 14:20:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 12:28:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码