示例#1
0
        private void ReceiveCallback(IAsyncResult AR)
        {
            Socket current = (Socket)AR.AsyncState;
            int    received;

            try
            {
                received = current.EndReceive(AR);
            }
            catch (SocketException)
            {
                current.Close();
                clientSockets.Remove(current);
                return;
            }

            byte[] recBuf = new byte[received]; // Cấp phát mảng động
            Array.Copy(buffer, recBuf, received);
            string text = Encoding.UTF8.GetString(recBuf);

            var Packet = new ManagePacket();

            resolve(Packet, current);

            current.BeginReceive(buffer, 0, 2048, SocketFlags.None, ReceiveCallback, current);
        }
示例#2
0
        private void resolve(ManagePacket packet, Socket current)
        {
            switch (packet.msgtype)
            {
            case "User":

                break;

            case "Room":

                break;

            case "Action":
                switch (packet.msgcontent)
                {
                case "Connect":

                    break;

                case "Disconnect":

                    break;
                }
                break;
            }
        }