Esempio n. 1
0
 public S2CProtocol(PROTOCOLTYPE type, Socket socket)
 {
     this.type   = type;
     this.socket = socket;
     byteList    = new List <byte> {
         (byte)type
     };
 }
Esempio n. 2
0
        static void Transmit(PROTOCOLTYPE type, byte[] buffer, Socket socket)
        {
            C2SProtocol c2SProtocol;

            switch (type)
            {
            case PROTOCOLTYPE.USERPWD:
                c2SProtocol = new UserPwdProtocol(buffer);
                c2SProtocol.UnMarshal();
                OnUserPwdProtocol(c2SProtocol, socket);
                break;

            case PROTOCOLTYPE.REGISTER:
                c2SProtocol = new RegisterProtocol(buffer);
                c2SProtocol.UnMarshal();
                OnRegisterProtocol(c2SProtocol, socket);
                break;
            }
        }
Esempio n. 3
0
        static void Receive(object o)
        {
            Socket socket = o as Socket;

            while (true)
            {
                try
                {
                    byte[] buffer = new byte[128];
                    int    length = socket.Receive(buffer);
                    if (length == 0)
                    {
                        break;
                    }
                    PROTOCOLTYPE type = (PROTOCOLTYPE)buffer[0];
                    Transmit(type, buffer, socket);
                }
                catch (SocketException e)
                {
                    Console.WriteLine(e);
                    break;
                }
            }
        }
Esempio n. 4
0
 public C2SProtocol(PROTOCOLTYPE type, byte[] buffer)
 {
     this.type   = type;
     this.buffer = buffer;
     cur         = 1;
 }