Giter Site home page Giter Site logo

ntripcaster's Introduction

ntripcaster

Ntrip broadcaster written in c and libev, support windows and linux.

For now, it can now transmit data between ntrip servers and ntrip clients, with source table and authorization support.

基于 libev 库实现的 C 语言版本 Ntripcaster 程序,支持 windows 和 linux。

目前可以支持 ntrip client 和 ntrip server 交换数据、动态源列表,以及密码验证(client 和 source 都支持)。

Build 构建

Need cmake and git and libev.

Windows only test on MinGW/MinGW-w64 toolchains.

需要 cmake 和 git 工具,以及系统安装了 libev (仅linux下需要,Debian/Ubuntu 可以使用 apt-get install libev-dev 安装)。

Windows 编译仅在 MinGW/MinGW-w64 测试过。

git clone https://github.com/tisyang/ntripcaster.git
cd ntripcaster
git submodule update --init

mkdir build
cd build
cmake ..
make

Pre-build binaries 预编译二进制文件

https://github.com/tisyang/ntripcaster/releases/

Usage 使用

程序使用 json 配置文件,默认配置文件名为 ntripcaster.json ,但可以通过命令行参数传入配置文件名: ntripcaster.exe xxx.json

配置文件项说明:

  • listen_addr: 字符串,程序将使用的 caster 服务地址,默认为 "0.0.0.0".
  • listen_port: 整数,程序将使用的 caster 服务端口,默认为 2101.
  • max_client: 整数,可接入的 ntrip client 客户端最大数量,0表示无限制。默认为0.
  • max_source: 整数,可接入的 ntrip source 客户端最大数量,0表示无限制。默认为0.
  • max_pending: 整数,允许的无标识客户端(即非client也非source)最大数量,0表示无限制。默认为10.
  • tokens_client: object,每一项的名称表示一个 client 密码对,以冒号分隔的用户名和密码。值表示的可以访问的挂载点名称。挂载点支持 * 符号,表示可以访问任何挂载点。
  • tokens_source: object, 每一项的名称表示一个 source 密码。值表示可以写入数据的挂载点名称。挂载点支持 * 符号,表示可以访问任何挂载点。

配置文件示例:

{
	"listen_addr":"0.0.0.0",
	"listen_port": 2101,
	"max_client": 0,
	"max_source": 0,
	"max_pending": 10,
	"tokens_client": {
		"test:test": "*"
	},
	"tokens_source": {
		"test": "*"
	}
}

Contact Me 联系

lazy.tinker#outlook.com

ntripcaster's People

Contributors

tisyang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ntripcaster's Issues

ntripcaster使用问题

您好,我在使用ntripcaster工具中遇到一些问题,想咨询您一下,
(1)ntripcaster.json文件中一个tokens_source对应一个tokens_client吗?不能使用一个tokens_source,给多个tokens_client发送数据吗?
(2)tokens_client的用户名和密码必须是tokens_source的密码吗?用户名和密码的命令和tokens_source有什么关系吗?
期望收到您的回复

Expression: ("libev: fd >= FD_SETSIZE passed to fd_set-based select backend", fd < FD_SETSIZE)

17:01:50.675 [TRACE] ntripcaster.c:630: -----------------------------------------------
17:01:58.150 [INFO ] ntripcaster.c:504: agent(320) connection close
17:01:58.150 [INFO ] ntripcaster.c:145: close agent(320) from 192.168.0.30
17:02:00.674 [TRACE] ntripcaster.c:610: ======= Current clients/servers status ========
17:02:00.674 [TRACE] ntripcaster.c:611: Type MountP From Bps Bytes UserAgent
17:02:00.674 [TRACE] ntripcaster.c:621: Source T111V 192.168.0.233 1032 119554 NTRIP RTKLIB/2.4.2
17:02:00.674 [TRACE] ntripcaster.c:617: Client T111V 192.168.0.126 1032 119554 NTRIP 1.00.230404.DecoderGNSS.G992B221013277302
17:02:00.674 [TRACE] ntripcaster.c:630: -----------------------------------------------
17:02:08.159 [INFO ] ntripcaster.c:565: accept agent(340) from 192.168.0.30:64124
17:02:08.169 [INFO ] ntripcaster.c:460: move agent(340) into source agents
17:02:10.674 [TRACE] ntripcaster.c:610: ======= Current clients/servers status ========
17:02:10.674 [TRACE] ntripcaster.c:611: Type MountP From Bps Bytes UserAgent
17:02:10.675 [TRACE] ntripcaster.c:621: Source T111V 192.168.0.233 1032 131121 NTRIP RTKLIB/2.4.2
17:02:10.675 [TRACE] ntripcaster.c:621: Source T000V 192.168.0.30 0 0 NTRIP RTKLIB/2.4.2
17:02:10.675 [TRACE] ntripcaster.c:617: Client T111V 192.168.0.126 1032 131121 NTRIP 1.00.230404.DecoderGNSS.G992B221013277302
17:02:10.675 [TRACE] ntripcaster.c:630: -----------------------------------------------
17:02:18.188 [INFO ] ntripcaster.c:504: agent(340) connection close
17:02:18.188 [INFO ] ntripcaster.c:145: close agent(340) from 192.168.0.30
17:02:20.675 [TRACE] ntripcaster.c:610: ======= Current clients/servers status ========
17:02:20.675 [TRACE] ntripcaster.c:611: Type MountP From Bps Bytes UserAgent
17:02:20.675 [TRACE] ntripcaster.c:621: Source T111V 192.168.0.233 1032 142688 NTRIP RTKLIB/2.4.2
17:02:20.675 [TRACE] ntripcaster.c:617: Client T111V 192.168.0.126 1032 142688 NTRIP 1.00.230404.DecoderGNSS.G992B221013277302
17:02:20.675 [TRACE] ntripcaster.c:630: -----------------------------------------------
17:02:28.191 [INFO ] ntripcaster.c:565: accept agent(320) from 192.168.0.30:64357
Assertion failed!

Program: D:\software\ntrip_caster\ntripcaster.exe
File: E:\Develop\ntripcaster\libev/ev_select.c, Line 85

Expression: ("libev: fd >= FD_SETSIZE passed to fd_set-based select backend", fd < FD_SETSIZE)

After running for 20 minutes in the Windows 11 environment, the program will experience an exception.

better explanation - JSON settings file

Hi!

I was hoping you can expain the JSON file better, especially the "tokens_source" part. How do I use this? Can I use it as a RELAY server from rtklibs str2str for example?

Please update with some better examples on how to use the sources list.

Best regards
Daniel

NTRIP VERSION

Hello tisyang, is the software only for ntrip version 1.0, right?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.