netty单片机通讯_服务端netty,如何给指定客户端(非netty)发送指令?
Netty 是一个基于 JAVA NIO 类库的异步通信框架,它的架构特点是:异步非阻塞、基于事件驱动、高性能、高可靠性和高可定制性。而TCP/IP是通用的标准通信协议,所有基于此协议的两端(服务端和客服端)都是可以进行通信的,所以,无论是否用netty实现客服端、服务端,两端都是可以进行通讯的,这个你再认真了解一下相关概念就明白了。好的,你文中提到要用netty实现服务端,和硬件客服端进行通信,这是现在很常见的应用场景,比如,用远程查看车辆的位置,实现就是车辆安装了GPS定位器,有GPS定位器通过sim卡的gprs网络跟你的服务器进行(TCP/IP SOCKET)通,发送了当前的gps坐标,因此你能够实时的掉车辆的位置。那这个服务器端就可以用netty开发实现一个socket服务器,而GPS车载终端由计算能力有限(节约成本)单片机实现,根本没有必要运行JVM,所以也不可能用netty去实现客服端,同样的,大多数的智能终端都不会有JVM。所以,终端和netty服务端只要建立tcp连接,就可以进行数据通信,这里,就讲到你的问题的重点了,TCP负责实现通信,你要做的就是,你自己定义“编码协议”(一组服务端客户端能够识别的编码命令定义),通常,客户端和服务端进行16进制的字节流数据交互,你只要定义要这个字节流编码协议就行了,比如,“编码协议”定义:0x01表示关机,服务端发送一个0x01给你的硬件客户端,你的硬件客服端接收,发现是0x01,随后进行关机,这样,就实现了远程关机命令了。当然实际应用中,不会有这么短的指令,这就是你要定义的编码协议,如一条比较完整的远程命令会有命令头+命令识别ID+命令内容+校验码+命令尾组成,有时还要在末尾加换行符:例如:7e000112d5dd7e;
所以,你的问题的简答是:netty实现的服务端发送给非netty实现的客户端指令是完全可以实现的,只要是你要定义好两端的通讯编码协议和进行正确的协议解析处理。
netty单片机通讯_服务端netty,如何给指定客户端(非netty)发送指令?相关推荐
- 使用netty实现简单tcp服务端
文章目录 前言 服务端 启动方式 前言 最近在做的项目有一个需要对接TCP的功能,网上查了一下,决定用netty来实现. 服务端 这次的需求只需要做一个服务端,话不多说,直接上代码 pom <d ...
- DotNetty 高性能NIO通讯模型 服务端和客户端案例版
Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的高性能客户端/服务器 通讯框架. Netty的优势: 并发高 传输快 封装好 还有一个叫做 内存零 ...
- oracle11g服务器端下载,安装_oracle11G_客户端_服务端_链接_oracle
在开始之前呢,有一些注细节需要注意,oracle11G_客户端_和_服务端, 分为两种 一种是 开发者使用 一种是 BDA 自己使用(同时也需要根据自己 PC 的系统来做_win7_与 ...
- c语言传奇引擎源码,Ei3.0服务端引擎源代码+登陆网关+客户端插件
Ei3.0服务端引擎源代码+登陆网关+客户端插件 procedure TPANEL.Button3Click(Sender: TObject); var P:integer; mItem:DWORD; ...
- nett服务器接收消息的方法,C#(一沙框架) .net core3.1 SignalR 服务端推送消息至客户端的实现方法,用弹窗插件进行显示,非常美观实用...
C#(一沙框架) .net core3.1 SignalR 服务端推送消息至客户端的实现方法,用弹窗插件进行显示,非常美观实用 运行效果: 1.安装Microsoft.AspNetCore.Signa ...
- JavaSocket服务端处理多个硬件客户端并监测硬件客户端是否在线
服务端对接的是硬件客户端,客户端反馈的结果是byte[],需要先解析出来硬件的编号,然后存储到map集合中,方便服务端接收到用户指令给另外一个硬件客户端发送指令. 服务端: public class ...
- SSR 学习 - 传统服务端渲染 Web 应用、客户端渲染、同构渲染、优缺点和案例演示
概述 随着前端技术栈和工具链的迭代成熟,前端工程化.模块化也已成为了当下的主流技术方案. 在这波前端技术浪潮中,涌现了诸如 React.Vue.Angular 等基于客户端渲染的前端框架. 这类框架所 ...
- tigase mysql_即时通讯之服务端篇Tigase.
摘要 xmpp是一个应用层协议,主要做网页版即时通讯,是基于RFC3920和RFC3921实现,服务端常见的框架有openfire,tigase,prosody等,这三个都亲自踩过坑,唯有tigase ...
- 研究微信即时通讯的服务端、朋友圈、红包、推送等方案
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 即时通信:前端获得消息发送到服务端,服务端处理后通过推送的方式,发给接收方:Android使用长连机 ...
最新文章
- ios ffmpeg 保存mp4
- Intel汇编语言程序设计学习-第五章 过程-上
- 不要争了,别的程序员是这么给变量起名的!
- SAP Basis如何显示SAP中所有用户列表
- kmp算法详解php,php中字符串匹配KMP算法实现例子
- python函数式编程-匿名函数
- Java本地缓存CaffeineCache集成
- 日期多选插件Kalendae.js
- ribbon 配置 动态更新_Netflix开源工具:在SpringBoot实现动态路由
- Java_String_01_由转义字符串得到其原本字符串
- axure element元件_Axure教程,产品小白从0学起
- WCF 4.0路由服务Routing Service
- S7-200SMART与昆仑通态触摸屏以太网通信的具体方法和步骤(图文)
- OPNsense用户手册-高可用性和硬件故障转移
- 器:Linux - 断点续传文件
- Math函数生成随机数用法
- 怎样才能在网上快速赚到钱?
- 美国参议员建议立法“黑掉国土安全部”
- Python-打印乘法口诀表
- 【Simulink】仿真_PID控制器调谐/调参/整定
热门文章
- java计算机毕业设计高等数学试卷系统MyBatis+系统+LW文档+源码+调试部署
- 大家一起来讨论:Filecoin 经济模型和商业启示
- swift:使用NSJSONSerialization和SwiftyJSON两种方法解析网络返回的json格式数据
- 翻译“举头望明月,低头思故乡”为英文
- 遂宁东辰高考2021成绩查询,2021年遂宁高考状元是谁分数多少分,历年遂宁高考状元名单...
- 那个外汇交易软件好用一些
- 9-27 DAIRY
- ubuntu16.04 安装deepin软件商店
- java控制台 快捷键_Java快捷键
- C++ 自创钉钉直播刷赞器