private void NewAliveServer(Guid server_id) { ServerData server_data = DatabaseHelper.GetServerByID(database, server_id); if (server_data == null) { log.Append(String.Format("Sending description request for {0}", server_id)); TypedMessage requestMessage = new TypedMessage(MessageType.DescriptionRequest, ClientID.ToByteArray()); networkNode.SendDirect(requestMessage.GetBytes(), server_id); } else { log.Append(String.Format("Using database description for {0}", server_id)); AddAliveServer(server_data); } }
private void SendAliveMessage(object ob) { TypedMessage message = new TypedMessage(MessageType.AliveMessage, BitConverter.GetBytes((Int64)DateTime.UtcNow.Ticks)); networkNode.Send(message.GetBytes()); }
void networkNode_MessageReceived(object sender, MessageEventArgs args) { log.Append("networkNode_MessageReceived", String.Format("Message Received from {0}", args.SenderID.ToString())); TypedMessage message = new TypedMessage(args.Data, args.Data.Length); switch (message.type) { case MessageType.DescriptionRequest: log.Append("networkNode_MessageReceived", "Description Request received"); DescriptionMessage description = new DescriptionMessage(CurrentServerData); TypedMessage reply = new TypedMessage(MessageType.DescriptionMessage, description.GetBytes()); networkNode.SendDirect(reply.GetBytes(), args.SenderID); break; default: break; } }