globalntsrv 开发协议 - Antone-wydon/globalntsrv GitHub Wiki

欢迎来到 globalntsrv 开发主页!

Globalntsrv程序基于Linux平台gcc编译,具有完全的自主知识产权。当需要在其他架构平台的基础上使用,需要采用对应平台的编译器进行编译,可与软件供应商联系。
Globalntsrv程序是INANTER系列网络报警主机的通讯服务程序,做为基础应用服务使用,为第三方平台兼容INANTER系列网络报警主机服务,可以从该服务程序获取到连接到此服务的所有的报警主机的实时事件、状态,并能通过该服务程序对已连接的网络报警主机进行反向控制、从报警主机读取编程项、修改编程项、查询主机状态、校时等等操作。
windows版本采用了原SDK集成了http服务,采用Visual Studio2010开发,使用者只需要将SDK初始化即可采用http协议开发。

通讯规约

Globalntsrv程序约定

Globalntsrv程序对第三方供基于HTTP协议的服务,HTTP协议通讯端口可以由户用户修改,默认服务端口为30502,默认的报警主机通讯服务端口为502,请在使用此服务程序时确认30502和502的TCP端口没有被其他应用程序或服务占用。
HTTP协议GET和POST方法的返回结果均采用了Application/JSON,第三方在接收到Globalntsrv程序Response的内容时需要对JSON格式数据进行解析,JSON数据中所有数据都采用字符串格式。
Globalntsrv程序对第三方提供HTTP协议操作均是通过params.cgi进行操作,params.cgi后可以携带合法的query字符串。在调用时url格式如下:
http://hostname[:port]/sdkapi/params.cgi[?qurty]
说明:此url于2019年9月23日将params.cgi移放到/sdkapi目录中,原来的http://hostname[:port]/params.cgi[?qurty]不再使用
其中:
http为固定格式,代表采用http协议
Hostname为Globalntsrv程序所在计算机的IP地址或域名
Port为可选项,当不采用80端口时必须要指定port,默认为30502
Qurty为查询字符串

Globalntsdk约定

Globalntsdk分64位版本和32位版本,功能完全一致,使用者只需调用Globalntsdk,对sdk进行初始化,sdk会自动提供默认端口为10034的http服务。
HTTP协议GET和POST方法的返回结果均采用了Application/JSON,第三方在接收到Globalntsrv程序Response的内容时需要对JSON格式数据进行解析,JSON数据中所有数据都采用字符串格式。
第三方通过HTTP协议操作均是通过params.cgi进行操作,params.cgi后可以携带合法的query字符串。在调用时url格式如下:
http://hostname[:port]/sdkapi/params.cgi[?qurty]
其中:
http为固定格式,代表采用http协议
Hostname为Globalntsrv程序所在计算机的IP地址或域名
Port为可选项,当不采用80端口时必须要指定port,默认为10034
Qurty为查询字符串

其它约定

本文档中仅以Linux下globalntsrv程序进行协议说明,windows版本协议仅url的区别。所以在windows下使用本套协议时,请注意url的正确性。详见章节【Globalntsdk约定】

Linux下globalntsrv的安装

Linux下globalntsrv程序在Ubuntu16.04.12版本下编译,默认采用g++(Ubuntu 5.4.0),可以提供g++ 4.8.5的编译版本。
在Linux环境下,建议将globalntsrv安装到/opt/acrs的目录下,程序默认以502端口做为报警接收端口,30502端口作为http服务端口。
Globalntsrv程序可以带参数运行,命令行格式 globalntsrv <参数1> <参数2> <参数3>,每个参数以空格分隔,参数1为报警接收端口,参数2为http服务端口(一般取报警接收端口+30000),参数3为进程编号(从编号0开始),如采用多个报警接收端口,可以带参数运行多个globalntsrv 如:
/opt/acrs/globalntsrv 502 30502 0
/opt/acrs/globalntsrv 503 30503 1
/opt/acrs/globalntsrv 504 30504 2
/opt/acrs/globalntsrv 505 30505 3
/opt/acrs/globalntsrv 506 30506 4
建议单进程管理500-600台主机

⚠️ **GitHub.com Fallback** ⚠️