protected override void OnRun(MessageContent content, ServerCommandArgs args) { if (content.RemoteInfo == null) { throw new ArgumentNullException("Info"); } if (content.PeerPoint == null) { throw new ArgumentNullException("PeerPoint"); } if (string.IsNullOrEmpty(content.ReceiverNick)) { throw new ArgumentException("receiverNick"); } if (!ServerModel.Server.ContainsConnection(content.ReceiverNick)) { ServerModel.Api.SendSystemMessage(args.ConnectionId, MessageId.P2PUserNotExist); return; } var connectContent = new ClientConnectToPeerCommand.MessageContent { PeerPoint = content.PeerPoint, RemoteInfo = content.RemoteInfo, }; ServerModel.Server.SendMessage(content.ReceiverNick, ClientConnectToPeerCommand.CommandId, connectContent); }
public void Run(ServerCommandArgs args) { var receivedContent = Serializer.Deserialize <MessageContent>(args.Message); if (receivedContent.RemoteInfo == null) { throw new ArgumentNullException("Info"); } if (receivedContent.PeerPoint == null) { throw new ArgumentNullException("PeerPoint"); } if (string.IsNullOrEmpty(receivedContent.ReceiverNick)) { throw new ArgumentException("receiverNick"); } if (!ServerModel.Server.ContainsConnection(receivedContent.ReceiverNick)) { ServerModel.API.SendSystemMessage(args.ConnectionId, "Данного пользователя не существует."); return; } var connectContent = new ClientConnectToPeerCommand.MessageContent { PeerPoint = receivedContent.PeerPoint, RemoteInfo = receivedContent.RemoteInfo, }; ServerModel.Server.SendMessage(receivedContent.ReceiverNick, ClientConnectToPeerCommand.Id, connectContent); }
protected override void OnRun(MessageContent content, CommandArgs args) { if (content.RemoteInfo == null) { throw new ArgumentNullException("content.RemoteInfo"); } if (string.IsNullOrEmpty(content.ReceiverNick)) { throw new ArgumentException("content.ReceiverNick"); } if (!ServerModel.Server.ContainsConnection(content.ReceiverNick)) { ServerModel.Api.Perform(new ServerSendSystemMessageAction(args.ConnectionId, SystemMessageId.P2PUserNotExist)); return; } var connectContent = new ClientConnectToPeerCommand.MessageContent { Port = content.PeerPort, IPAddress = content.PeerIPAddress, RemoteInfo = content.RemoteInfo }; ServerModel.Server.SendMessage(content.ReceiverNick, ClientConnectToPeerCommand.CommandId, connectContent); }