抱歉,这几天出差+加班,今天才看到你的留言,非常不好意思。
由于我对您使用的服务器和平台等不太了解,所以我仅发表一些
持保留态度的意见。
首先,您的需求是可以通过SNMP实现的,但是在实际应用中,
SNMP被更多的应用于监控管理(即是只看,而不改),如你
所说的增加/删除/连接新的软件设备是很难通过SNMP接口来
实现的,必竟SNMP是一个轻量级的网管协议。但如果你是要
把被监控端发生了 增加/删除/连接新的软件设备 这样的事件,
通过SNMP告诉管理者,是很简单而且很适宜的。至于监控
软件服务器的实时运行数据,比如进程情况,CPU负荷等等,
也能够很简单的通过SNMP实现,也是现实中的SNMP的主要
应用之一。
如果用SNMP实现,关于您的三个问题:
(1)必须要在各个服务器运行环境中配置好SNMP
(2)基本上是这样的,传输的事情不用操心,SNMP会
自己处理。但是需要注意,SNMP必竟不是消息中间件,
所以实际上是有一个管理者,可以读写多个代理者上的
数据结构。而代理是无法读写管理者端的数据结构的。
当然,这个问题可以通过互为管理-代理来解决。
(3)几乎不用再按照协议开发接口,或做什么复杂的开发,
网上有很多开源的项目,已经把接口封装的很好了,调用相应
API就OK了。著名的SNMP软件包有 SNMP++, NET-SNMP等。
由于对您的项目的情况不太了解,所以无法给予更多帮助了:)
不过我建议您再做一做需求分析,看是否需要使用SNMP技术,
也许有更好的办法,比如消息中间件等等。
如果的确需要使用SNMP相关技术,我愿意和您一起探讨研究,
希望我的一点经验可以对你有所帮助 :)