Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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();
        }