Iot device Gateway technology architecture Design TCP Gateway

Iot device Gateway technology architecture Design TCP Gateway

2022-09-05 0 1,165
Resource Number 38205 Last Updated 2025-02-24
¥ 0USD Upgrade VIP
Download Now Matters needing attention
Can't download? Please contact customer service to submit a link error!
Value-added Service: Installation Guide Environment Configuration Secondary Development Template Modification Source Code Installation

This issue recommends the technical architecture design of iot device Gateway (Session management, heartbeat management, data uplink, data downlink) TCP Gateway.

Introduction

Technical architecture design of iot device gateway (Session management, heartbeat management, data uplink, data downlink)

Iot device Gateway technology architecture Design TCP Gateway插图

Description

NioEventLoop is Netty’s Reactor thread and its role is

  • Boss Group : used as the Acceptor thread of the server to accept client links and forward them to threads in the WorkerGroup.
  • Worker Group : acts as an I/O thread and reads and writes packets from or to the SocketChannel.
  • Task Queue/Delay Task Queue : Acts as a scheduled task thread to perform scheduled tasks, such as detecting link idle and sending heartbeat messages.

Summary

  • TcpServer: provides TCP connection services
  • TcpSessionManager: You can add listening events to listen for TCP session creation, destruction, etc.
  • LogSessionListener: a log listener, which is associated with tcpSessionManager. The listener must first SessionListener
  • TcpSender: TCP sender. The user sends message notifications to the client and implements downstream logic
  • ServerConfig: TCP configuration management class
  • TcpConnector: TCP container for managing connections between services and clients
  • NotifyProxy: notifyproxy is sent to the proxy class

The above is the default configuration, you can not change, but you may need to change the TCP port

. Network structure of TCP gateway

Build a TCP gateway long connection container based on Netty, and serve as the gateway access layer to provide service API request calls.

The client accesses the TCP gateway through the domain name +Port. Different carriers with different domain names correspond to different VIPs. The VIPs are advertised on LVS, and LVS forwards the request to HAProxy on the back end, and HAProxy forwards the request to Netty’s IP+Port on the back end.

LVS forwards the request to HAProxy on the back end. The request passes through LVS, but the response is directly fed back to the client by HAProxy, which is the DR Mode of LVS.

Iot device Gateway technology architecture Design TCP Gateway插图1

TCP Gateway execution sequence diagram

Iot device Gateway technology architecture Design TCP Gateway插图2

where steps 1 to 9 refer to the creation sequence of the Netty server and steps 10 to 13 refer to the creation sequence of the TCP gateway container.

  • Step 1 : Create an instance of ServerBootstrap. ServerBootstrap is the boot helper class of the Netty server.
  • Step 2 : Set and bind the Reactor thread pool. EventLoopGroup is the Reactor thread pool of Netty. EventLoop is responsible for all channels registered with this thread.
  • Step 3 : Set and bind the Server Channel. Netty Server needs to create the NioServerSocketChannel object.
  • Step 4 : Create a ChannelPipeline when a TCP link is established. ChannelPipeline is essentially a chain of responsibility that responsibly executes ChannelHandler.
  • Step 5 : Add and set ChannelHandler, add ChannelHandler to ChannelPipeline in serial.
  • Step 6 : Bind the listening port and start the server, registering the NioServerSocketChannel to the Selector.
  • Step 7 : Selector rotation training. EventLoop is responsible for scheduling and executing Selector polling operations.
  • Step 8 : Execute the network request event notification, poll the ready Channel, and run the ChannelPipeline by EventLoop.
  • Step 9 : Run the Netty system and service ChannelHandler, schedule and execute the ChannelHandler of ChannelPipeline in sequence.
  • Step 10 : Invoke the back-end Service through Proxy. After the ChannelRead event, schedule the back-end service by transmitting.
  • Step 11 : Create a Session. The Session and Connection are interdependent.
  • Step 12 : Create a Connection and save the Connection as ChannelHandlerContext.
  • Step 13 : Add a SessionListener that listens for events such as SessionCreate and SessionDestory.

Program run case step

Iot device Gateway technology architecture Design TCP Gateway插图3

1. Configure the local Host

Window address // C:\Windows\System32\drivers\etc\hosts

Add 127.0.0.1 iot-open.icloud.com

2. Start Server

< p data – track = “42” > location: com. Ibyte. Iot. Test. The server TestTcpServer < / p >

2. Start Client

< p data – track = “46” > location: com. Ibyte. Iot. Test. The client. The TcpClient < / p >

资源下载此资源为免费资源立即下载
Telegram:@John_Software

Disclaimer: This article is published by a third party and represents the views of the author only and has nothing to do with this website. This site does not make any guarantee or commitment to the authenticity, completeness and timeliness of this article and all or part of its content, please readers for reference only, and please verify the relevant content. The publication or republication of articles by this website for the purpose of conveying more information does not mean that it endorses its views or confirms its description, nor does it mean that this website is responsible for its authenticity.

Ictcoder Free source code Iot device Gateway technology architecture Design TCP Gateway https://ictcoder.com/kyym/iot-device-gateway-technology-architecture-design-tcp-gateway.html

Share free open-source source code

Q&A
  • 1, automatic: after taking the photo, click the (download) link to download; 2. Manual: After taking the photo, contact the seller to issue it or contact the official to find the developer to ship.
View details
  • 1, the default transaction cycle of the source code: manual delivery of goods for 1-3 days, and the user payment amount will enter the platform guarantee until the completion of the transaction or 3-7 days can be issued, in case of disputes indefinitely extend the collection amount until the dispute is resolved or refunded!
View details
  • 1. Heptalon will permanently archive the process of trading between the two parties and the snapshots of the traded goods to ensure that the transaction is true, effective and safe! 2, Seven PAWS can not guarantee such as "permanent package update", "permanent technical support" and other similar transactions after the merchant commitment, please identify the buyer; 3, in the source code at the same time there is a website demonstration and picture demonstration, and the site is inconsistent with the diagram, the default according to the diagram as the dispute evaluation basis (except for special statements or agreement); 4, in the absence of "no legitimate basis for refund", the commodity written "once sold, no support for refund" and other similar statements, shall be deemed invalid; 5, before the shooting, the transaction content agreed by the two parties on QQ can also be the basis for dispute judgment (agreement and description of the conflict, the agreement shall prevail); 6, because the chat record can be used as the basis for dispute judgment, so when the two sides contact, only communicate with the other party on the QQ and mobile phone number left on the systemhere, in case the other party does not recognize self-commitment. 7, although the probability of disputes is very small, but be sure to retain such important information as chat records, mobile phone messages, etc., in case of disputes, it is convenient for seven PAWS to intervene in rapid processing.
View details
  • 1. As a third-party intermediary platform, Qichou protects the security of the transaction and the rights and interests of both buyers and sellers according to the transaction contract (commodity description, content agreed before the transaction); 2, non-platform online trading projects, any consequences have nothing to do with mutual site; No matter the seller for any reason to require offline transactions, please contact the management report.
View details

Related Article

make a comment
No comments available at the moment
Official customer service team

To solve your worries - 24 hours online professional service