TCP高并发数据转接服务器(Ntrip Caster)

说到NTRIP Caster, 咱们需要首先链接一下什么是Ntrip协议由于这不是本博客的重点,故只做如下简单介绍,,大家可以通过如下链接对ntrip协议进行详细了解什么是Ntrip 协议

NRTIP主要由三个部分组成。
Ntrip客户(如图client): 这是收到 RTK数据流的那部分组成,指的是带有RTK流动站的测量员。NtripClient将使用 NtripCaster合适的IP地址通过互联网连接到NtripCaster。

Ntrip服务器(如图source): 这部分用于从 GPS参考站到NtripCaster传输RTK数据。 NtripServer (硬件)通常是一台PC机(同GPS传感器连接)或者它就是一台直接连到互联网的接收机。有时您可能也听到过术语 Ntrip [来源] –这指的是本身(GPS传感器)能够产生 RTK数据的硬件。与 NtripClient一样,NtripServer将使用NtripCaster合适的 IP地址通过互联网连接到 NtripCaster 。

Ntrip处理中心(如图Ntrip Caster):这是一个互联网服务器,它将进出NtripServer和[客户]的不同数据流进行处理。可以将Ntrip网络服务器当作一个“电话程控机”,它将 NtripClient连接到需要的数据流。它对进出参考站端和客户端的不同数据流进行处理,物理上是一个服务器组,承担着参考站和用户间通讯的桥梁作用。它是基于因特网(HTTP)的服务,控制不同数据在控制中心服务器的进出。从参考站端接收数据流并处理,同时设置数据流所属参考站的代码、密码、账号等。从客户端收到请求消息,看客户端是否已注册并通过认证,可以收发RTK数据流。另外,控制中心还具有与Internet临近系统(或参考站网)的联网能力,包括:支持Ntrip,实现系统数据联网和服务联网,支持服务注册和服务漫游功能,可增加参考站数量,满足扩充要求等。一般地,控制中心支持三种数据的传输率:GNSS差分数据约为0.5KB/秒,RTK差分数据约为5KB/秒,原始导航数据约5KB/秒。

从上面的介绍,我们可以了解到Ntrip Caster是一种TCP高并发数据转接服务器,那这个数据转接服务器是如何实现的呢?下面是本人设计的TCP高并发数据转接服务器(Ntrip Caster)实现。不论是Ntrip客户,还是Ntrip服务器,其实他们都是TCP client,Ntrip Caster是Ntrip客户的TCP server,也是Ntrip服务器的TCP server。Ntrip客户、Ntrip服务器都需要主打连接Ntrip Caster,故本博客设计的Ntrip Caster是基于多线程的服务器框架进行设计的,如下图是主线程,主线程的主要功能是初始化好TCP server的环境,并等待Ntrip客户、Ntrip服务器的连接完成登入验证

登入成功后,创建线程处理这些连接:
1、如果是Ntrip客户登入,则将客户端的套接字添加到他所要获取数据的源的client套接字列表是,退出线程。
2、如果是Ntrip服务器都登入,则初始化一个属于这个数据源的client套接字列表,然后进入数据传输状态,读取Ntrip服务器的数据,依次将数据,播发到这个数据源client套接字列表的每一个Ntrip客户。


源码下次再更新了哦,博主邮箱zengsjplus@qq.com

TCP高并发数据转接服务器(Ntrip Caster)相关推荐

  1. 一个简单的高并发的回应服务器(5万并发)

    一个简单的高并发的回应服务器,主要是使用boost的库! 自己测试过可以达到5万个并发! 程序的下载地址:http://download.csdn.net/detail/guanyijun123/83 ...

  2. 猿创征文 | 微服务 Spring Boot 整合Redis 实战开发解决高并发数据缓存

    文章目录 一.什么是 缓存? ⛅为什么用缓存? ⚡如何使用缓存 二.实现一个商家缓存 ⌛环境搭建 ♨️核心源码 ✅测试接口 三.采用 微服务 Spring Boot 注解开启缓存 ✂️@CacheEn ...

  3. 处理大客流量高并发数据通讯_云如何处理高流量网站?

    处理大客流量高并发数据通讯 It is often seen that one of the main benefits of the cloud is its perceived ability t ...

  4. Spring Boot实战解决高并发数据入库: Redis 缓存+MySQL 批量入库

    前言 最近在做阅读类的业务,需要记录用户的PV,UV: 项目状况:前期尝试业务阶段: 特点: 快速实现(不需要做太重,满足初期推广运营即可) 快速投入市场去运营 收集用户的原始数据,三要素: 谁 在什 ...

  5. Spring Cloud Alibaba 分布式微服务高并发数据平台化(中台)思想+多租户saas企业开发架构技术选型和设计方案

    基于Spring Cloud Alibaba 分布式微服务高并发数据平台化(中台)思想+多租户saas设计的企业开发架构,支持源码二次开发.支持其他业务系统集成.集中式应用权限管理.支持拓展其他任意子 ...

  6. 27.Linux网络编程socket变成 tcp 高并发 线程池 udp

    好,咱们开始上课了,从今天开始咱们连续讲 8 天的,网络编程这个还是在linux环境下去讲,咱们先看一下咱们这 8 天都讲什么东西,跟大家一块来梳理一下,你先有个大概的印象,这些你也不要记,那么网络编 ...

  7. 如何打造高效的多任务、高并发的网络服务器系统?

    同一个功能的软件,不同的团队,不同工程师去实现,肯定是千差万别,甚至从根本上完全不同.所以软件开发在未来很长时间内仍然是一项工匠的手工劳动,尤其像多任务,高并发,偏底层这种对实现技巧比较高的系统,这种 ...

  8. redis高并发数据错乱_redis总结:1T以上海量数据+10万以上QPS高并发+99.99%高可用...

    来源:https://blog.csdn.net/qq_34246646/article/details/104402510 redis作用 topic:高并发.亿级流量.高性能.海量数据的场景,电商 ...

  9. 哪个服务器支持高并发,IIS Web服务器支持高并发设置方法详解

    这篇文章主要介绍了IIS Web服务器如何支持高并发,详细设置方法在下面,大家参考使用吧 适用的IIS版本:IIS 7.0, IIS 7.5, IIS 8.0 适用的Windows版本:Windows ...

最新文章

  1. 下一步,该怎么做空中国概念股?
  2. 人工智能产业展望:2018年三大难题如何破解?
  3. python3 str bytes 字符串 字节 互相转换
  4. python3 open函数_python中open函数的基本用法示例
  5. Inside ASP.NET 2.0 – Controls Model(转载)
  6. [SpringBoot2]错误处理_默认规则
  7. 使用 Packer、Ansible 和 Terraform 构建不可变的基础设施
  8. git命令:全局设置用户名邮箱配置
  9. 如何将枯燥的大数据呈现为可视化的图?
  10. 梦幻西游热门服务器卡顿延迟,Win10梦幻西游很卡反应很慢该如何处理
  11. 测试学习——全链路压测
  12. ms sql 创建表_使用MS查询创建表组合
  13. python比对Excel表和json数据
  14. python 强大的错误重试库 tenacity retry
  15. [办公软件word] 怎么让Worde2019显示所有批注?
  16. linux7怎么进桌面,CentOs7无法进入桌面系统怎么办?
  17. java实现word模板文件填充
  18. C++ 子类的拷贝构造函数调用其父类的拷贝构造函数
  19. 意云丰盘点:那些令网赚者疯狂的时代
  20. 哈哈日语 五十音图之あ段音

热门文章

  1. Hive学习—数据操作
  2. 究竟是什么样的奇葩需求?威胁到程序员的头发...
  3. 前端笔记5 JQuery 语法及应用
  4. Google Play 政策更新提醒与重点解读 | 2021 年第四季度
  5. DBFace: 源码阅读(一)
  6. 8行python代码展示程序员从入门到大神(或跑路)的全部状态
  7. 水经注能否下载行政区域的矢量文件?
  8. 利用RealProxy,强化AOP,在”牛粪“的周围插上”鲜花“
  9. matlab利用magnify作图
  10. 无线覆盖服务器,港口码头无线覆盖系统方案的构成及功能实现