码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • TCP协议,解析机器终端数据


    我大数据,表哥让我做硬件以及Java,说是解析什么电动车的机器终端,但是他是tcp协议的。没有搞过,程序员最强的是什么?不是编程,而是学习能力,所以我还是接了,那就产出了这篇文章。让我简单学习下tcp能达到这个解析终端的要求。

    1.什么是tcp?

    tcp是一种传输协议,类似于http(request,post请求这些),类似于前端的socket通信

    他比较稳定

    2.tcp的通信方式?

    三次握手 

    (1)第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。

    (2)第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给Client以确认连接请求,Server进入SYN_RCVD状态。

    (3)第三次握手:Client收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给Server,Server检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,随后Client与Server之间可以开始传输数据了。

    简单来说,就是

    1、建立连接时,客户端发送SYN包(SYN=i)到服务器,并进入到SYN-SEND状态,等待服务器确认

    2、服务器收到SYN包,必须确认客户的SYN(ack=i+1),同时自己也发送一个SYN包(SYN=k),即SYN+ACK包,此时服务器进入SYN-RECV状态

    3、客户端收到服务器的SYN+ACK包,向服务器发送确认报ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手,客户端与服务器开始传送数据

    3.字节学习

    1字节等于8bit

    1个英文字母占1个字节

    1个汉字占2个字节

    bit的值是0或者1

    硬件文档阅读中,非常复杂....

    最后确定技术架构用netty,以及轨迹数据,用clickhouse,采用按天分区的形式。

    学习netty和clickhouse中。

    我以前用过socket

    JAVA-SpringBoot web-socket通信_我要用代码向我喜欢的女孩表白的博客-CSDN博客_socket通讯 springboot

    参考文章

    TCP/IP协议详解_王佳斌的博客-CSDN博客_tcp/ip协议

  • 相关阅读:
    Vue学习之--------路由的query、params参数、路由命名(3)(2022/9/5)
    Vim功能大纲
    重装系统后笔记本电脑无线wifi怎么连接
    UE4自动打包工具编写
    Java IDE MyEclipse 使用教程:创建一个新的 REST Web 服务
    vue中getter.js作用是什么呢
    优化导入大批量数据的Excel(上万行的导入)SpringBoot + Apache POI
    [MT8766][Android12] 增加应用安装白名单或者黑名单
    产品思维训练 | 新用户从注册到绑卡流失率很高是什么原因?
    webpack插件plugin 添加版权 打包html js压缩
  • 原文地址:https://blog.csdn.net/qq_38403590/article/details/126580220
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号