public override void Execute() { UserCountRequest command = this.request as UserCountRequest; int count = sender.GetUserCount(); UserCountResponse response = new UserCountResponse(count); sender.SendMessage(command.UserID, response); }
public void LoginTest2() { MazeServer server = new MazeServer(1337); server.Start(); Socket client1 = new Socket(SocketType.Stream, ProtocolType.Tcp); client1.Connect("127.0.0.1", 1337); LoginRequest loginRequest1 = new LoginRequest("Alleshka", "123qwe"); client1.Send(LoginRequest.ToBytes(loginRequest1)); byte[] bytes1 = new byte[1024]; client1.Receive(bytes1); LoginResponse login1 = LoginResponse.ToObject(bytes1) as LoginResponse; Socket client2 = new Socket(SocketType.Stream, ProtocolType.Tcp); client2.Connect("127.0.0.1", 1337); LoginRequest loginRequest2 = new LoginRequest("Alleshka", "123qwe"); client2.Send(LoginRequest.ToBytes(loginRequest2)); byte[] bytes2 = new byte[1024]; client2.Receive(bytes2); LoginResponse login2 = LoginResponse.ToObject(bytes2) as LoginResponse; UserCountRequest userCountRequest = new UserCountRequest(login1.UserID); client1.Send(UserCountRequest.ToBytes(userCountRequest)); bytes1 = new byte[1024]; client1.Receive(bytes1); UserCountResponse countResponse = UserCountResponse.ToObject(bytes1) as UserCountResponse; Assert.AreEqual(2, countResponse.UserCount); server.Stop(); }