Example #1
0
        private void PeerToPeerConnectionClient()
        {
            object HostTemp;

            //NewPack.ChipColor = true;
            try
            {
                while (true)
                {
                    HostTemp = formatter.Deserialize(P2PConnectStream);
                    if (HostTemp is CPacket.Message)
                    {
                        CPacket.Message receptionMessage = new CPacket.Message();
                        receptionMessage = HostTemp as CPacket.Message;
                        if (Chat.InvokeRequired)
                        {
                            BeginInvoke(new kdelegate(AddToList), ((CPacket.Message)HostTemp).m_message, 2);
                        }
                        //MessageBox.Show(receptionMessage.m_message);
                    }
                    if (HostTemp is CPacket.LogOut)
                    {
                        CPacket.LogOut LogOut = new CPacket.LogOut();
                        LogOut = HostTemp as CPacket.LogOut;
                        MessageBox.Show(LogOut.UsersDisconnected + " disconnected");
                        P2PConnectStream.Close();
                        P2PConnectStream = null;
                    }
                    if (HostTemp is CPacket.GameData)
                    {
                        //CPacket.GameData ReceivedPacket = new CPacket.GameData();
                        NewPack = HostTemp as CPacket.GameData;

                        UpdateBoard(NewPack);
                    }
                    if (HostTemp is CPacket.Again)
                    {
                        //MessageBox.Show("You Lost");
                        //this.EraseBoard();
                        //CPacket.Again againReceived = new CPacket.Again();
                        //againReceived = HostTemp as CPacket.Again;
                        // if (againReceived.response == true)
                        // {
                        // this.GameDesign();

                        //}
                    }
                    if (HostTemp is CPacket.Losing)
                    {
                        MessageBox.Show("You Lost");
                    }
                }
            }
            catch (System.IO.IOException P2Perror)
            {
            }
        }
Example #2
0
 private void Send_Click(object sender, EventArgs e)
 {
     if (P2PConnectStream != null || !P2P.IsAlive)
     {
         CPacket.Message NewMessage = new CPacket.Message();
         NewMessage.m_message = TextBoxMessage.Text;
         Chat.Items.Add(usernametextbox.Text + TextBoxMessage.Text);
         formatter.Serialize(P2PConnectStream, NewMessage);
     }
     else
     {
         MessageBox.Show("No connection P2P available");
     }
 }
Example #3
0
        /*-----------------------------Peer---To---Peer-------*/
        private void PeerToPeerConnectionHost()
        {
            object HostTemp;

            //NewPack.ChipColor = true;
            try
            {
                while (true)
                {
                    HostTemp = formatter.Deserialize(P2PConnectStream);
                    if (HostTemp is CPacket.Message)
                    {
                        CPacket.Message receptionMessage = new CPacket.Message();
                        receptionMessage = HostTemp as CPacket.Message;
                        if (Chat.InvokeRequired)
                        {
                            BeginInvoke(new kdelegate(AddToList), ((CPacket.Message)HostTemp).m_message, 2);
                        }
                        //MessageBox.Show(receptionMessage.m_message);
                    }
                    if (HostTemp is CPacket.LogOut)
                    {
                        CPacket.LogOut LogOut = new CPacket.LogOut();
                        LogOut = HostTemp as CPacket.LogOut;
                        MessageBox.Show(LogOut.UsersDisconnected + " disconnected");
                        if (P2PConnectStream != null || !P2P.IsAlive)
                        {
                            if (which == true)//hostmode
                            {
                                HostListener.Stop();
                                P2PConnectStream.Close();
                                P2PConnectStream = null;
                            }
                            if (which == false)
                            {
                                P2PConnectStream.Close();
                                P2PConnectStream = null;
                            }

                            //P2PConnectStream = null;
                            break;//makes the thread die
                        }
                    }
                    if (HostTemp is CPacket.GameData)
                    {
                        NewPack = HostTemp as CPacket.GameData;
                        UpdateBoard(NewPack);
                    }
                    if (HostTemp is CPacket.LoginPacket)
                    {
                        CPacket.LoginPacket Viewer = new CPacket.LoginPacket();
                        Viewer = HostTemp as CPacket.LoginPacket;
                        //formatter.Serialize()
                    }
                    if (HostTemp is CPacket.Again)
                    {
                        // MessageBox.Show("You Lost");

                        //CPacket.Again againReceived = new CPacket.Again();
                        //againReceived = HostTemp as CPacket.Again;
                        ////if (againReceived.response == true)
                        //{

                        // this.EraseBoard();
                        //.GameDesign();

                        //}
                    }
                    if (HostTemp is CPacket.Losing)
                    {
                        MessageBox.Show("You Lost");

                        //CPacket.Again againReceived = new CPacket.Again();
                        //againReceived = HostTemp as CPacket.Again;
                        ////if (againReceived.response == true)
                        //{

                        // this.EraseBoard();
                        //.GameDesign();

                        //}
                    }
                }
            }
            catch (System.IO.IOException P2Perror)
            {
                //System.Runtime.Serialization.SerializationException
            }
        }