public void socketListener()
        {
            if (mySocket != null)
            {
                while (true)
                {
                    int n = mySocket.Available;
                    if (n > 0)
                    {
                        byte[] bArr = new byte[n];
                        mySocket.Receive(bArr);
                        string pkg = Encoding.Default.GetString(bArr);

                        if (pkg.Contains(','))
                        {
                            string[] msg = pkg.Split(',');
                            packet = new PacketInfo(msg[0], msg[1], msg[2], msg[3], msg[4]);
                        }
                        string str = packet.getMessage(pkg);
                        if (str == "gamestart")
                        {
                            //timer1.Enabled = true;
                            //timer1.Start();
                            t.Start();
                        }
                        if (str == "lose")
                        {
                            t.Stop();
                            MessageBox.Show("당신이 이겼습니다.");
                        }
                    }
                }
            }
        }
        private void btn_NB_Click(object sender, EventArgs e)
        {
            /*
             * 숫자 야구 관련 Form을 불러오자.
             */

            this.Visible = false;
            // Word 게임 선택했다고 보내주기.

            string chn = mySocket.LocalEndPoint.ToString().Split(':')[1];

            packet = new PacketInfo(chn, uid, "1", "0", "");
            packet.setState("2");
            string msg = packet.makePacket();

            mySocket.Send(Encoding.Default.GetBytes(msg));

            NBGame nbgame = new NBGame(mySocket, uid);

            nbgame.ShowDialog();

            this.Visible = true;

            //string msg = packet.makePacket();
            //mysocket.Send(Encoding.Default.GetBytes(msg));


            // this.Visible =false;
            // Form lalaa = new Form();
            // lalaa.ShowDialog();
            // this.Visible=True;
        }
Пример #3
0
        private void button1_Click(object sender, EventArgs e)
        {
            string choose = GetLog_in_up();

            string uid = textBox1.Text.Trim();
            string pwd = textBox2.Text.Trim();

            if (choose == radioButton1.Text)
            {
                if (uid != null)
                {
                    SQLDB db = new SQLDB(@"Data Source=192.168.0.85;Initial Catalog=myDB;Persist Security Info=True;User ID=kosta;Password=kosta");
                    if (pwd == db.Get($"select pwd from users where uid='{uid}'").ToString().Trim())
                    {
                        mySocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                        mySocket.Connect("192.168.0.85", 9000); // Daemon Serverprocess
                        if (mySocket != null)
                        {
                            string chn = mySocket.LocalEndPoint.ToString().Split(':')[1];
                            packet = new PacketInfo(chn, uid, "1", "0", "");
                        }
                        id = uid;
                        string pkg = packet.makePacket();
                        mySocket.Send(Encoding.Default.GetBytes(pkg));
                        this.Visible = false;
                        frmMain fmain = new frmMain(mySocket, uid);
                        fmain.ShowDialog();
                    }
                }
                else
                {
                    MessageBox.Show("Check your ID and PWD");
                }
            }
            else
            {
                if (string.IsNullOrEmpty(uid) || string.IsNullOrEmpty(pwd))
                {
                    MessageBox.Show("빈 값은 저장할 수 없습니다");

                    return;
                }
                else
                {
                    SqlConnection sqlconn = new SqlConnection();
                    SqlCommand    sqlcmd  = new SqlCommand();

                    sqlconn.ConnectionString = @"Data Source=192.168.0.85;Initial Catalog=myDB;Persist Security Info=True;User ID=kosta;Password=kosta";
                    sqlconn.Open();
                    sqlcmd.Connection = sqlconn;

                    string sql = $"INSERT INTO users VALUES('{uid}','{pwd}','100')";
                    sqlcmd.CommandText = sql;

                    SqlCommand cmd = new SqlCommand(sql, sqlconn);
                    cmd.ExecuteNonQuery();
                }
            }
        }
        private void btn_Word_Click(object sender, EventArgs e)
        {
            this.Visible = false;
            // Word 게임 선택했다고 보내주기.

            string chn = mySocket.LocalEndPoint.ToString().Split(':')[1];

            packet = new PacketInfo(chn, uid, "1", "0", "");
            packet.setState("1");
            string msg = packet.makePacket();

            mySocket.Send(Encoding.Default.GetBytes(msg));

            WordGame wordgame = new WordGame(mySocket, uid);

            wordgame.ShowDialog();

            this.Visible = true;
        }
Пример #5
0
        public NBGame(Socket sock, string id)
        {
            InitializeComponent();

            player = sock;
            uid    = id;
            ses    = player.LocalEndPoint.ToString().Split(':')[1];
            pi     = new PacketInfo(ses, id, "1", "2", "");

            threadRead = new Thread(ReadProcess);
            threadRead.IsBackground = true;
            threadRead.Start();

            lbUser1.Text = $"ID: {id}"; // 괄호 안에 player소켓의 아이디
            //timer1.Interval = 1000;     // 1초마다 카운트다운

            t          = new System.Timers.Timer();
            t.Interval = 1000;
            t.Elapsed += new ElapsedEventHandler(t_Elapsed);
        }
Пример #6
0
        static void SendPacket(PacketInfo info)
        {
            ms.Position = 0;
            switch (info)
            {
            case PacketInfo.ID:
                writer.Write(0);
                socket.Send(ms.GetBuffer());
                break;

            case PacketInfo.Position:
                writer.Write(1);
                writer.Write(player.ID);
                writer.Write(player.X);
                writer.Write(player.Y);
                writer.Write(player.Sprite);
                writer.Write((int)player.Color);
                socket.Send(ms.GetBuffer());
                break;
            }
        }
        public WordGame(Socket ss, string uid)
        {
            InitializeComponent();

            mySocket = ss;
            string sess = mySocket.LocalEndPoint.ToString().Split(':')[1];

            this.uid = uid;
            //packet = pi;
            url    = "https://krdict.korean.go.kr/api/search?key=";
            apikey = "EBB6D3290D88C645CF1452F7DA3229D0";
            type   = "&part=word&pos=1&q=";

            packet       = new PacketInfo(sess, uid, "1", "1", "");
            socketThread = new Thread(socketListener);
            socketThread.Start();

            t          = new System.Timers.Timer();
            t.Interval = 1000;
            t.Elapsed += new ElapsedEventHandler(t_Elapsed);
        }
Пример #8
0
 static void SendPacket(PacketInfo info)
 {
     byte[] forSend = new byte[256];
     forSend = Encoding.ASCII.GetBytes(player.ButtonText + " " + Convert.ToString(player.CounterMove) + " " + player.Name);
     socket.Send(forSend);
 }