Esempio n. 1
0
        public string ClientInit(NetworkStream stream)
        {
            // Send Panel Infomation to Client
            byte[] sendInitBuffer = new byte[Constant.INIT_PACKET_SIZE];

            PanelInit panel = new PanelInit();

            panel.Type     = (int)PacketType.panelInfo;
            panel.mypencil = childForm.mypencil;
            panel.mylines  = childForm.mylines;
            panel.myrect   = childForm.myrect;
            panel.mycircle = childForm.mycircle;
            panel.npencil  = childForm.npencil;
            panel.nline    = childForm.nline;
            panel.nrect    = childForm.nrect;
            panel.ncircle  = childForm.ncircle;
            panel.index    = childForm.index;

            // Serialize
            MemoryStream    ms = new MemoryStream(Constant.INIT_PACKET_SIZE);
            BinaryFormatter bf = new BinaryFormatter();

            bf.Serialize(ms, panel);
            ms.ToArray().CopyTo(sendInitBuffer, 0);
            stream.Write(sendInitBuffer, 0, sendInitBuffer.Length);
            stream.Flush();

            // Receive ClientID from Client
            stream.Read(readBuffer, 0, Constant.PACKET_SIZE);
            m_initializeClass = (Initialize)Packet.Desserialize(readBuffer);

            return(m_initializeClass.clientID);
        }
Esempio n. 2
0
        public void Init()
        {
            // Receive Panel Information from Server
            byte[] readInitBuffer = new byte[Constant.INIT_PACKET_SIZE];
            stream.Read(readInitBuffer, 0, Constant.INIT_PACKET_SIZE);

            // Desserialize
            MemoryStream ms = new MemoryStream(Constant.INIT_PACKET_SIZE);

            foreach (byte b in readInitBuffer)
            {
                ms.WriteByte(b);
            }
            ms.Position = 0;
            BinaryFormatter bf  = new BinaryFormatter();
            Object          obj = bf.Deserialize(ms);

            ms.Close();
            m_panelInitClass = (PanelInit)obj;

            childForm.mypencil = m_panelInitClass.mypencil;
            childForm.mylines  = m_panelInitClass.mylines;
            childForm.myrect   = m_panelInitClass.myrect;
            childForm.mycircle = m_panelInitClass.mycircle;
            childForm.npencil  = m_panelInitClass.npencil;
            childForm.nline    = m_panelInitClass.nline;
            childForm.nrect    = m_panelInitClass.nrect;
            childForm.ncircle  = m_panelInitClass.ncircle;
            childForm.index    = m_panelInitClass.index;

            // Draw Panel
            childForm.panel.Invalidate(true);
            childForm.panel.Update();

            // Send ClientID to Server
            Initialize init = new Initialize();

            init.clientID = txtID.Text;

            Packet.Serialize(init).CopyTo(sendBuffer, 0);
            Send();
        }