/// <summary> /// Send login packet to the server. /// </summary> /// <param name="nickName">Nickname we are trying to login</param> /// <returns>True if sending was successfull</returns> public bool LogIn(string nickName) { ServerCommunicationManager manager = new ServerCommunicationManager(); if (manager.SendMessage(nickName, PacketType.Login, nickName)) { return(true); } return(false); }
/// <summary> /// Listens om the server port and processes the received packets. /// </summary> private void ReceivePacket() { var listener = new TcpListener(IPAddress.Parse("127.0.0.1"), 8000); try { listener.Start(); } catch (System.Exception) { listener = new TcpListener(IPAddress.Parse("127.0.0.1"), 7000); listener.Start(); } var client = listener.AcceptTcpClient(); var nwStream = client.GetStream(); var sr = new StreamReader(nwStream); var receivedString = sr.ReadToEnd(); var newPacket = new ServerCommunicationManager().deserializeToObject(receivedString); switch (newPacket.PacketType) { case PacketType.GetOnlineUsers: handleGetOnlineUsers(newPacket); break; case PacketType.GetOnlineState: handleGetOnlineState(newPacket.SenderNickname); break; case PacketType.Login: handleLogin(newPacket); break; case PacketType.Message: handleMessage(newPacket); break; } nwStream.Flush(); client.Close(); listener.Stop(); }