예제 #1
0
        //接收客户端消息
        private void App_NewRequestReceived(ZabbixSession session, ZabbixRequestInfo requestInfo)
        {
            if (appServer != null && appServer.State == ServerState.Running && appServer.SessionCount > 0)
            {
                Console.WriteLine($"收到:{requestInfo.Key}, Time:{DateTime.Now:HH:mm:ss}");

                switch (requestInfo.Key)
                {
                case "agent.ping":
                {
                    var data = ZabbixProtocol.WriteWithHeader("1");
                    session.Send(data, 0, data.Length);
                }
                break;

                case "device.discovery":
                {
                    var data = HandleDeviceDiscovery();
                    session.Send(data, 0, data.Length);
                }
                break;

                case "station.discovery":
                {
                    var data = HandleStationDiscovery();
                    session.Send(data, 0, data.Length);
                }
                break;

                default:
                {
                    var data = HandleItemValue(requestInfo.Key);
                    session.Send(data, 0, data.Length);
                }
                break;
                }
            }
        }
예제 #2
0
 //客户端断开
 void app_SessionClosed(ZabbixSession session, CloseReason value)
 {
 }
예제 #3
0
 //客户端连接
 void app_NewSessionConnected(ZabbixSession session)
 {
 }