private void WatchDog(TCPServerMessages state, TCPServerClientInfo client = null) { if (state == TCPServerMessages.Undefined) { return; } string message = String.Empty; if (state == TCPServerMessages.Initialized) { message = "Initialized"; } else if (state == TCPServerMessages.Started) { message = "Server started at " + this.EndPoint.Address.ToString() + " : " + this.EndPoint.Port.ToString(); } else if (state == TCPServerMessages.Stopped) { message = "Stopped"; } else if (state == TCPServerMessages.AddressFail) { message = "Ip address fail"; } else if (state == TCPServerMessages.EndPointFail) { message = "Endpoint fail"; } else if (state == TCPServerMessages.StartFail) { message = "Start fail"; } else if (state == TCPServerMessages.NotInitialized) { message = "Not initialized"; } else if (state == TCPServerMessages.AcceptFail) { message = "Accept fail"; } else if (state == TCPServerMessages.ClientConnected) { message = "Client " + client.Id.ToString() + " connected"; } else if (state == TCPServerMessages.ClientDisconnected) { message = "Client " + client.Id.ToString() + " disconnected"; } else if (state == TCPServerMessages.ClientFail) { message = "Client " + client.Id.ToString() + " fail"; } else if (state == TCPServerMessages.AlreadyInitialized) { message = "Server already initialized"; } else if (state == TCPServerMessages.EndAccepting) { message = "End accepting sockets"; } else if (state == TCPServerMessages.NoHandler) { message = "No server handler assigned"; } else if (state == TCPServerMessages.ParseFail) { message = "Data parsing fail, client " + client.Id.ToString(); } else if (state == TCPServerMessages.SocketLimit) { message = "Socket limit reached"; } string fullMessage = DateTime.Now.ToUniversalTime() + " : " + message; this.MessageLog.Add(fullMessage); TCPServerMessageEventArgs argument = new TCPServerMessageEventArgs(); argument.Message = fullMessage; argument.MessageType = state; argument.ClientInfo = client; if (this.ServerMessageEvent != null) { this.ServerMessageEvent(this, argument); } }
public TCPServerMessageEventArgs(TCPServerMessages messageType, string message, TCPServerClientInfo clientInfo) { this.Message = message; this.ClientInfo = clientInfo; this.MessageType = messageType; }