Flutter SDK

flutter sdk

# Tunnel Protocol

<p>[TOC]</p> <h1>Introduction</h1> <p>The P2PTunnel service provided by TUTK is similar to a VPN service. After the P2PTunnel service is started, it will forward the incoming data from the upper layer to the peer through the private protocol of TUTK, without knowing the IP address of the peer.</p> <p>The P2PTunnel module can be embedded into the manufacturer's program or independently made into a module. For some TCP/IP based standard or private services, such as HTTP, SSH, FTP, telnet, and rtsp, access can be completed with just a few lines of code.</p> <h1>P2PTunnel Module Schematic Diagram</h1> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=7aa07ddba453f6d18828750ccf78214d&amp;amp;file=file.png" alt="P2PTunnel Module Schematic Diagram" /></p> <h1>P2PTunnelAgent Flowchart</h1> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=06241c46223f887ea9b8d8e0c1c18e58&amp;amp;file=file.png" alt="P2PTunnelAgent Flowchart" /></p> <h1>FAQ</h1> <p>1.What to do if the local port is occupied?</p> <ul> <li>Just change the port</li> <li>For example, if the mapping between local port A and remote port C fails, you can switch to local port B and remote port B for mapping. After successful mapping, save the mapping record between local port A and remote port C</li> </ul> <p>2.If the agent needs to connect multiple devices, how to distinguish different devices?</p> <ul> <li>Distinguish by different local ports, for example, if there are three devices listening to port 80, the agent can use 10001、10002、10003 to map the ports of these three devices, and then access 10001、10002、10003 to access these three devices.</li> </ul> <p>3.Can P2PTunnelApis use the IOTC API?</p> <ul> <li>Yes, the parameter is SID.</li> </ul> <p>4.Can P2PTunnel be used together with other modules (AV, RDT)?</p> <ul> <li>Yes, but it can be quite complex, and it is generally not recommended to use it together.</li> </ul>