private void ServerFunction(Message message, IPEndPoint endPoint) { User user; Operator @operator; if (message is P2PRequest) { var request = message as P2PRequest; user = new User { EndPoint = MessageTransfer.EndPoint.Parse(endPoint), State = 0, UserEmail = request.UserEmail, UserID = request.UserID, UserName = request.UserName }; penddingUsers.Enqueue(user); Console.WriteLine("P2P request from {0}: Name: {1}, User ID: {2}, Email: {3}", endPoint.ToString(), user.UserName, user.UserID, user.UserEmail); SendConnectionInfoToUser(); } else if (message is ReadyRequest) { var request = message as ReadyRequest; @operator = new Operator { EndPoint = MessageTransfer.EndPoint.Parse(endPoint), ListeningEndPoint = request.EndPoint, OperatorID = request.OperatorID, State = 0 }; readyOperators.Enqueue(@operator); Console.WriteLine("Ready request from {0}, End Point: {1}", @operator.OperatorID, @operator.EndPoint.ToIPEndPoint().ToString()); messageServer.CloseConnection(endPoint); SendConnectionInfoToUser(); } else { messageServer.CloseConnection(endPoint); } }