一个基于 libev 的 ntripcaster 简单实现
Contents
Ntripcaster 是测绘领域GNSS相关的服务器软件,服务于差分GNSS测量、RTK测量等高精度测量测绘。
这里开源一个基于 libev,用 C 实现的简单 ntripcaster 服务器。
Ntripcaster 是基于 Ntrip协议 的 broker 程序,给 Ntrip Client 传输所请求的 GNSS 差分数据,接受来自 Ntrip Server 产生的差分数据来源。网络图例如下:
|
|
libev 是一个 C 实现的跨平台事件库,支持 IO、定时器、文件状态监控等等,特别适合用来写网络服务程序,其接口也简洁好用。
简单实现的 Ntripcaster 源码: https://github.com/lazytinker/ntripcaster
预编译的二进制可执行文件(linux/windows):https://github.com/lazytinker/ntripcaster_bin
目前支持的功能:
- 支持 Ntrip 1.0 协议,支持动态源列表(source tables)。
- 支持 linux 和 windows(MinGW 编译)。
- 支持用户名密码验证,支持多用户、多源单独密码管控。
- 至此后同用户客户端多连接。
目前不支持的功能:
- VRS虚拟站。
- 根据客户端GGA提供最近站差分数据。
- 动态用户名密码增减支持。
除了 VRS,其他功能添加也比较简单,只不过暂时没有什么动力去完善,编写这个程序主要还是为了 libev 的练手。有什么问题,可以与我联系。
(完)