示例#1
0
        // 보내기 버튼
        private void OnSendData(object sender, EventArgs e)
        {
            if (!mainSock.IsBound)
            {
                MsgBoxHelper.Warn("서버가 실행되고 있지 않습니다!");
                return;
            }
            string tts = txtTTS.Text.Trim();

            if (string.IsNullOrEmpty(tts))
            {
                txtTTS.Focus();
                return;
            }
            byte[] bDts = Encoding.UTF8.GetBytes("1" + '\x01' + "[서버]" + '\x01' + tts);
            for (int i = connectedClients.Count - 1; i >= 0; i--)
            {
                Socket socket = connectedClients[i];
                try { socket.Send(bDts); } catch
                {
                    try { socket.Dispose(); } catch { }
                    connectedClients.RemoveAt(i);
                }
            }
            AppendText(txtHistory, string.Format("[보냄][서버]: {0}", tts));
            txtTTS.Clear();
        }
示例#2
0
        void OnSendData(object sender, EventArgs e)
        {
            // 서버가 대기중인지 확인한다.
            if (!mainSock.IsBound)
            {
                MsgBoxHelper.Warn("서버가 실행되고 있지 않습니다!");
                return;
            }

            // 보낼 텍스트
            string tts = txtTTS.Text.Trim();

            if (string.IsNullOrEmpty(tts))
            {
                MsgBoxHelper.Warn("텍스트가 입력되지 않았습니다!");
                txtTTS.Focus();
                return;
            }

            // 문자열을 utf8 형식의 바이트로 변환한다.
            byte[] bDts = Encoding.UTF8.GetBytes("Server" + ':' + tts);

            // 연결된 모든 클라이언트에게 전송한다.
            sendAll(null, bDts);

            // 전송 완료 후 텍스트박스에 추가하고, 원래의 내용은 지운다.
            AppendText(txtHistory, string.Format("[보냄]server: {0}", tts));
            txtTTS.Clear();
        }
示例#3
0
文件: Server.cs 项目: dong7954/TCP-IP
        // 시작 버튼
        private void BeginStartServer(object sender, EventArgs e)
        {
            for (int i = 0; i < problem.Length; i++)
            {
                AppendText(txtHistory, string.Format("{0}", problem[i]));
            }
            int port;

            if (!int.TryParse(txtPort.Text, out port))
            {
                MsgBoxHelper.Error("포트 번호가 잘못 입력되었거나 입력되지 않았습니다.");
                txtPort.Focus();
                txtPort.SelectAll();
                return;
            }
            if (mainSock.IsBound)
            {
                MsgBoxHelper.Warn("서버가 실행중입니다.");
                return;
            }
            IPEndPoint serverEP = new IPEndPoint(thisAddress, port);

            mainSock.Bind(serverEP);
            mainSock.Listen(10);
            mainSock.BeginAccept(AcceptCallback, null);
            AppendText(txtHistory, string.Format("서버가 실행되었습니다."));
        }
示例#4
0
        void sendData()
        {
            // 서버가 대기중인지 확인한다.
            if (!mainSock.IsBound)
            {
                MsgBoxHelper.Warn("서버가 실행되고 있지 않습니다!");
                return;
            }

            // 보낼 텍스트
            string tts = txtTTS.Text.Trim();

            if (string.IsNullOrEmpty(tts))
            {
                MsgBoxHelper.Warn("공지사항이 입력되지 않았습니다!");
                txtTTS.Focus();
                return;
            }

            DataForm dataForm = new DataForm();

            dataForm.id   = "Server";
            dataForm.text = tts;
            notice        = tts;
            dataForm.req  = "notice";

            string request          = JsonConvert.SerializeObject(dataForm);
            string encryptedRequest = AESEncrypt256(request, key);

            Console.WriteLine(encryptedRequest);
            byte[] bDts = Encoding.UTF8.GetBytes(encryptedRequest);

            string text = Encoding.UTF8.GetString(bDts);

            string dectypedstr = Decrypt256(text, key);

            Console.WriteLine(dectypedstr);



            // 문자열을 utf8 형식의 바이트로 변환한다.
            // byte[] bDts = Encoding.UTF8.GetBytes("Server" + '`' + tts);

            // 연결된 모든 클라이언트에게 전송한다.
            for (int i = connectedClients.Count - 1; i >= 0; i--)
            {
                Socket socket = connectedClients[i];
                try { socket.Send(bDts); }
                catch
                {
                    // 오류 발생하면 전송 취소하고 리스트에서 삭제한다.
                    try { socket.Dispose(); } catch { }
                    connectedClients.RemoveAt(i);
                }
            }
            AppendText(txtHistory, string.Format("[서버 공지]Server : {0}", tts));
            txtTTS.Clear();
        }
        private void PictureBox1_Click(object sender, EventArgs e)
        {
            if (!mainSock.IsBound)
            {
                MsgBoxHelper.Warn("서버가 실행되고 있지 않습니다!");
                return;
            }

            send_x = p.X.ToString();
            send_y = p.Y.ToString();
            byte[] x = Encoding.UTF8.GetBytes("Server" + ':' + tts + ':' + send_x + ':' + send_y + ':');
            sendAll(null, x);
            AppendText(txtHistory, string.Format("[보냄]server: {0} x좌표{1}, y좌표{2}", tts, send_x, send_y));
        }
示例#6
0
        // 시작 버튼
        private void BeginStartServer(object sender, EventArgs e)
        {
            int port = 15000;

            if (mainSock.IsBound)
            {
                MsgBoxHelper.Warn("서버가 실행중입니다.");
                return;
            }
            IPEndPoint serverEP = new IPEndPoint(thisAddress, port);

            mainSock.Bind(serverEP);
            mainSock.Listen(10);
            mainSock.BeginAccept(AcceptCallback, null);
            AppendText(txtHistory, string.Format("서버가 실행되었습니다."));
        }
        void OnSendData(object sender, EventArgs e)
        {
            // 서버가 대기중인지 확인한다.
            if (!mainSock.IsBound)
            {
                MsgBoxHelper.Warn("서버가 실행되고 있지 않습니다!");
                return;
            }

            // 보낼 텍스트
            tts = txtTTS.Text.Trim();

            send_x = p.X.ToString();
            send_y = p.Y.ToString();

            if (string.IsNullOrEmpty(tts))
            {
                MsgBoxHelper.Warn("텍스트가 입력되지 않았습니다!");
                txtTTS.Focus();
                return;
            }

            /*
             * // 문자열을 utf8 형식의 바이트로 변환한다.
             * byte[] bDts = Encoding.UTF8.GetBytes("Server" + ':' + tts);
             *
             * // 연결된 모든 클라이언트에게 전송한다.
             * sendAll(null, bDts);
             *
             * // 전송 완료 후 텍스트박스에 추가하고, 원래의 내용은 지운다.
             * AppendText(txtHistory, string.Format("[보냄]server: {0}", tts));
             * txtTTS.Clear();
             */

            // 문자열을 utf8 형식의 바이트로 변환한다.
            byte[] x = Encoding.UTF8.GetBytes("Server" + ':' + tts + ':' + send_x + ':' + send_y + ':');
            txtTTS.Clear();

            // 연결된 모든 클라이언트에게 전송한다.
            sendAll(null, x);

            // 전송 완료 후 텍스트박스에 추가하고, 원래의 내용은 지운다.
            AppendText(txtHistory, string.Format("[보냄]server: {0}, x좌표{1}, y좌표{2}", tts, send_x, send_y));
            Console.WriteLine(send_x);
            Console.WriteLine(send_y);
            txtTTS.Clear();
        }
示例#8
0
        private void OnSendData(object sender, EventArgs e)
        {
            return;

            // 서버가 대기중인지 확인한다.
            if (!_mainSock.IsBound)
            {
                MsgBoxHelper.Warn("서버가 실행되고 있지 않습니다!");
                return;
            }

            // 보낼 텍스트
            string tts = txtTTS.Text.Trim();

            if (string.IsNullOrEmpty(tts))
            {
                MsgBoxHelper.Warn("텍스트가 입력되지 않았습니다!");
                txtTTS.Focus();
                return;
            }

            // 문자열을 utf8 형식의 바이트로 변환한다.
            byte[] bDts = Encoding.UTF8.GetBytes(_thisAddress.ToString() + '\x01' + tts);

            // 연결된 모든 클라이언트에게 전송한다.
            for (int i = _connectedClients.Count - 1; i >= 0; i--)
            {
                Socket socket = _connectedClients[i];
                try { socket.Send(bDts); }
                catch
                {
                    // 오류 발생하면 전송 취소하고 리스트에서 삭제한다.
                    try { socket.Dispose(); } catch { }
                    _connectedClients.RemoveAt(i);
                }
            }

            // 전송 완료 후 텍스트박스에 추가하고, 원래의 내용은 지운다.
            AppendText(txtHistory, string.Format("[보냄]{0}: {1}", _thisAddress.ToString(), tts));
            txtTTS.Clear();
        }