Exemplo n.º 1
0
        private void ReceiveForClient()
        {
            try
            {
                delRefresh      refreshNames = new delRefresh(RefreshNames);
                AddTextDelegate AddText      = new AddTextDelegate(PrintToChatBox);

                while (stClient.client.Connected)
                {
                    Thread.Sleep(1);

                    if (stClient.stream.CanRead == true)
                    {
                        string[] tmpStr = new string[3];
                        tmpStr[0] = stClient.reader.ReadLine().Decrypt();
                        tmpStr    = tmpStr[0].Split('ㅩ');
                        Invoke(refreshNames, tmpStr[0]);
                        if (tmpStr[1].Contains('ㅴ'))
                        {
                            tmpStr = tmpStr[1].Split('ㅴ');
                            Invoke(AddText, tmpStr[0] + "님께서 입장하셨습니다.");
                            //tmpStr[0] = tmpStr[1];
                        }
                        if (tmpStr[1].Length > 0)
                        {
                            Invoke(AddText, tmpStr[1]);
                        }
                    }
                }
            }
            catch (Exception e)
            {
            }
        }
 /// <summary>
 /// 서버 로그창에 로그 쓰기 및 로그파일에 쓰기
 /// </summary>
 /// <param name="svrLog"></param>
 public void LogWrite(string svrLog)
 {
     try
     {
         _loggingBox = GetWorkingRichTextBox();
         if (_loggingBox == null)
         {
             MsgrLogger.WriteLog(svrLog);
         }
         else
         {
             _addText = new AddTextDelegate(writeLogBox);
             svrLog = "[" + DateTime.Now.ToString() + "] " + svrLog + "\r\n";
             if (_loggingBox.InvokeRequired)
             {
                 Invoke(_addText, svrLog);
                 MsgrLogger.WriteLog(svrLog);
             }
             else
             {
                 _loggingBox.AppendText(svrLog);
                 MsgrLogger.WriteLog(svrLog);
             }
         }
     }
     catch (Exception exception)
     {
         MsgrLogger.WriteLog(exception.ToString());
     }
 }
Exemplo n.º 3
0
        private void Listen()
        {
            AddTextDelegate AddText = new AddTextDelegate(txtMessage.AppendText);

            try
            {
                IPAddress addr = new IPAddress(0);
                int       port = 8080;

                Server = new TcpListener(addr, port);

                Server.Start();

                Invoke(AddText, "서버가 시작되었습니다..." + "\r\n");

                Client = Server.AcceptTcpClient();

                Connected = true;

                Invoke(AddText, "클라이언트와 연결되었습니다." + "\r\n");

                stream = Client.GetStream();

                Reader = new StreamReader(stream);
                Writer = new StreamWriter(stream);

                ReceiveThread = new Thread(new ThreadStart(Receive));
                ReceiveThread.Start();
            }
            catch (Exception e)
            {
            }
        }
Exemplo n.º 4
0
        private void QuestionServer()
        {
            try
            {
                AddTextDelegate AddText      = new AddTextDelegate(PrintToChatBox);
                AddLogDelegate  AddLog       = new AddLogDelegate(PrintLog);
                delAddNewClient addNewClient = new delAddNewClient(AddNewClient);

                IPAddress ip   = new IPAddress(0);
                int       port = defaultPort;

                stQuestion.Server = new TcpListener(ip, port);

                stQuestion.Server.Start();

                Invoke(AddText, "서버가 켜졌어용!");
                Invoke(AddLog, "server on");

                while (true)
                {
                    stQuestion.Client = stQuestion.Server.AcceptTcpClient();
                    Invoke(AddLog, "new client");
                    Invoke(addNewClient, lastID++, stQuestion.Client.GetStream());
                }
            }
            catch (Exception e)
            {
            }
        }
Exemplo n.º 5
0
        private void Receive()
        {
            AddTextDelegate AddText = new AddTextDelegate(textBox2.AppendText); // 메소드 등록

            try
            {
                while (Connected)
                {
                    Thread.Sleep(1);                                    //Windows 시스템은 거의 정확한 sleep 시간을 보장한다. 즉, 1ms에 거의 유사한 sleep 시간을 제공한다.

                    if (stream.CanRead)                                 // 스트림을 읽을 수 있다면...
                    {
                        string tempStr = Reader.ReadLine();             // 값을 일어와서

                        if (tempStr.Length > 0)                         // 문자 길이가 0이 아니라면
                        {
                            Invoke(AddText, "팀원: " + tempStr + "\r\n"); // 출력
                            // Panel_1.Text = "메시지도착시간: " + DateTime.Now; // 메시지도착시간 출력
                        }
                    }
                }
            }
            catch (Exception e)
            {
                this.Dispose(true);
            }
        }
Exemplo n.º 6
0
        private void Receive()
        {
            AddTextDelegate AddText = new AddTextDelegate(txtMessage.AppendText);

            try
            {
                while (Connected)
                {
                    Thread.Sleep(1);

                    if (stream.CanRead)
                    {
                        string tempStr = Reader.ReadLine();

                        if (tempStr.Length > 0)
                        {
                            Invoke(AddText, "저쪽:" + tempStr + "\r\n");
                            Panel_1.Text = "메시지도착시간:" + DateTime.Now;
                        }
                    }
                }
            }
            catch (Exception e)
            {
            }
        }
Exemplo n.º 7
0
        private void Receive() //받는 함수
        {
            AddTextDelegate AddText = new AddTextDelegate(txtChat.AppendText);

            try                   //시도
            {
                while (Connected) //연결되었을 때까지 무한반복
                {
                    Thread.Sleep(0);
                    if (Stream.CanRead)
                    {
                        string tempStr = Reader.ReadLine();
                        if (tempStr.Length > 0)
                        {
                            tempStr = AESDecrypt256(tempStr); //도착 메시지 복호화한 값 출력
                            Invoke(AddText, "클라이언트 :" + tempStr + "\r\n");
                            if (smemouse > 0)                 // SimpleMemo
                            {
                                serialPort1.PortName = "COM4";
                                serialPort1.BaudRate = 9600;
                                serialPort1.Open();
                                serialPort1.Write(tempStr);
                            }
                        }
                    }
                }
            }
            catch (Exception)
            {
            }
        }
Exemplo n.º 8
0
        private void tsbtnConnect_Click(object sender, EventArgs e)
        {
            AddText = new AddTextDelegate(MessageView);
            if (this.cbServer.Checked == true)
            {
                var addr = new IPAddress(0);
                try
                {
                    this.myName = (string)key.GetValue("Message_name");
                    this.myPort = Convert.ToInt32(key.GetValue("Message_port"));
                }
                catch
                {
                    this.myName = this.txtID.Text;
                    this.myPort = Convert.ToInt32(this.txtPort.Text);
                }

                if (!(this.start))
                {
                    try
                    {
                        server = new TcpListener(addr, this.myPort);
                        server.Start();

                        this.start = true;
                        this.txtMessage.Enabled = true;
                        this.btnSend.Enabled    = true;
                        this.txtMessage.Focus();
                        this.tsbtnDisconnect.Enabled = true;
                        this.tsbtnConnect.Enabled    = false;
                        this.cbServer.Enabled        = false;

                        // ServerStart() : Custom Method
                        myServer = new Thread(ServerStart);
                        myServer.Start();
                    }
                    catch
                    {
                        Invoke(AddText, "서버를 실행할 수 없습니다");
                    }
                }
                else
                {
                    // ServerStop() : Custom Method
                    ServerStop();
                }
            }
            else
            {
                if (!(this.clientConnect))
                {
                    this.myName = (string)key.GetValue("Message_name");
                    this.myPort = Convert.ToInt32(key.GetValue("Message_port"));

                    // ClientConnection() : Custom Method
                    ClientConnection();
                }
            }
        }
Exemplo n.º 9
0
 private void AddTexttoListBox(string text)
 {
     if (this.textBoxExame.InvokeRequired)
     {
         AddTextDelegate d = new AddTextDelegate(AddTexttoListBox);
         this.Invoke(d, new object[] { text });
     }
     else
     {
         textBoxExame.Text += text;
     }
 }
Exemplo n.º 10
0
        /// <summary>
        /// Method to write into a TextBox from a thread other that the GUI
        /// </summary>
        /// <param name="box"></param>
        /// <param name="data"></param>
        private void AddText(TextBox box, String data)
        {
            if (InvokeRequired)
            {
                AddTextDelegate del = new AddTextDelegate(AddText);
                Invoke(del, new object[] { box, data });
                return;
            }

            box.Text          += data;
            box.SelectionStart = box.Text.Length;
        }
 private void AddText(string p)
 {
     if (fp.Dispatcher.Thread != System.Threading.Thread.CurrentThread)
     {
         AddTextDelegate d = new AddTextDelegate(AddText);
         fp.Dispatcher.Invoke(d, new object[] { p });
     }
     else
     {
         fp.edtLog.Text += p;
     }
 }
Exemplo n.º 12
0
 private void tsbtnConn_Click(object sender, EventArgs e)
 {
     if (this.tlstxtIp.Text == "")
     {
         MessageBox.Show("접속할 아이피가 입력되지 않았습니다.", "알림",
                         MessageBoxButtons.OK, MessageBoxIcon.Error);
         this.tlstxtIp.Focus();
     }
     else
     {
         AddText = new AddTextDelegate(MessageView);
         ClientConnection(); //ClientConnection() 함수 호출
     }
 }
Exemplo n.º 13
0
 /// <summary>
 /// Adds the specified text to the window.
 /// </summary>
 /// <param name="text"></param>
 internal void AddText(string text)
 {
     if (LogText.InvokeRequired == false)
     {
         if (LogText.Text.Length > 10000)
             LogText.Text = "";
         LogText.AddFormattedText(text, LogText.Text.Length);
         LogText.SelectionStart = LogText.Text.Length - 1;
         LogText.ScrollToCaret();
     }
     else
     {
         AddTextDelegate d = new AddTextDelegate(AddText);
         LogText.Invoke(d, new object[] { text });
     }
 }
Exemplo n.º 14
0
        private void Listen() // 클라이언트와 연결하기
        {
            AddTextDelegate AddText = new AddTextDelegate(SerChatting.AppendText);
            IPAddress       addr    = new IPAddress(0); // 서버 ip

            Server = new TcpListener(addr, port);
            Server.Start();                       // 서버 시작
            SerChatting.AppendText("서버 연결 성공!" + "\n" + addr);
            Client    = Server.AcceptTcpClient(); // 클라이언트 연결 수락
            Connected = true;
            Invoke(AddText, "Connected to Client!" + "\r\n");
            stream        = Client.GetStream(); // 클라이언트 스트림 값 받아오기
            Reader        = new StreamReader(stream);
            Writer        = new StreamWriter(stream);
            ReceiveThread = new Thread(new ThreadStart(Receive)); // 값을 받기 위한 쓰레드
            ReceiveThread.Start();
        }
Exemplo n.º 15
0
        private void Receive() // 서버로 부터 값 받아오기
        {
            AddTextDelegate AddText = new AddTextDelegate(CliChatting.AppendText);

            while (Connected)
            {
                Thread.Sleep(1);
                if (stream.CanRead)
                {
                    string tempStr = Reader.ReadLine();
                    if (tempStr.Length > 0)
                    {
                        Invoke(AddText, "You : " + tempStr + "\r\n");
                    }
                }
            }
        }
Exemplo n.º 16
0
        private void Receive() // 클라이언트에게 받기
        {
            AddTextDelegate AddText = new AddTextDelegate(serverchat.AppendText);

            while (Connected)
            {
                Thread.Sleep(1);
                if (stream.CanRead) // 받아온 데이터가 있다면 출력
                {
                    string tempStr = Reader.ReadLine();
                    if (tempStr.Length > 0)
                    {
                        Invoke(AddText, tempStr + "\r\n");
                    }
                }
            }
        }
Exemplo n.º 17
0
        private void Listen()
        {
            AddTextDelegate AddText = new AddTextDelegate(serverchat.AppendText);
            IPAddress       addr    = IPAddress.Parse("10.96.123.179"); // 서버 ip
            int             port    = 5000;                             // 서버 포트

            Server = new TcpListener(addr, port);
            Server.Start();                       // 서버 시작
            Invoke(AddText, "채팅방이 열렸습니다.!" + "\r\n");
            Client    = Server.AcceptTcpClient(); // 클라이언트 연결 수락
            Connected = true;
            Invoke(AddText, "참여자가 들어왔습니다." + "\r\n");
            stream        = Client.GetStream(); // 클라이언트 스트림 값 받아오기
            Reader        = new StreamReader(stream);
            Writer        = new StreamWriter(stream);
            ReceiveThread = new Thread(new ThreadStart(Receive)); // 값을 받기 위한 쓰레드
            ReceiveThread.Start();
        }
        private void AddTextToTextBox(string text)
        {
            if (this.chart1.InvokeRequired)
            {
                AddTextDelegate d = new AddTextDelegate(AddTextToTextBox);
                this.Invoke(d, new object[] { text });
            }
            else
            {
                valoresExame.Add(text);



                chart1.Series["Leituras"].Points.AddY(int.Parse(text));



                if (chart1.Series["Leituras"].Points.Count > 300)
                {
                    chart1.Series["Leituras"].Points.RemoveAt(0);
                }
            }
        }
Exemplo n.º 19
0
 public TextBoxStream(TextBox textBox, Encoding enc)
 {
     m_textBox = textBox;
     m_encoding = enc;
     addTextDele = new AddTextDelegate(addText);
 }
Exemplo n.º 20
0
 private void putMessageLabel(Control control, string message, bool log)
 {
     if (control.InvokeRequired) {
         AddTextDelegate controlDelegate = null;
         if (log) {
             controlDelegate = new AddTextDelegate(AddLogTextCallBack);
         } else {
             controlDelegate = new AddTextDelegate(AddTextCallBack);
         }
         control.Invoke(controlDelegate, message, control);
     } else {
         if (log) {
             control.Text += message;
         } else {
             control.Text = message;
         }
     }
 }
Exemplo n.º 21
0
        private void tsbtnConn_Click(object sender, EventArgs e)
        {
            AddText = new AddTextDelegate(MessageView);
            if (this.cbServer.Checked == true)
            {
                var addr = new IPAddress(0);
                try
                {
                    this.myName = (string)key.GetValue("Message_name");
                }
                catch
                {
                    this.myName = this.txtId.Text;
                    this.myPort = Convert.ToInt32(this.txtPort.Text);
                }

                if (!(this.Start))
                {
                    try
                    {
                        Server = new TcpListener(addr, this.myPort);
                        Server.Start();

                        this.Start = true;
                        this.txtMessage.Enabled = true;
                        this.btnSend.Enabled    = true;
                        this.txtMessage.Focus();
                        this.tsbtnDisconn.Enabled = true;
                        this.tsbtnConn.Enabled    = false;
                        this.cbServer.Enabled     = false;

                        myServer = new Thread(ServerStart);
                        myServer.Start();

                        this.설정ToolStripMenuItem.Enabled = false;
                    }
                    catch
                    {
                        Invoke(AddText, "서버를 실행할 수 없습니다.");
                    }
                }
                else
                {
                    ServerStop(); //ServerStop() 함수 호출
                }
            }
            else
            {
                if (!(this.ClientCon))
                {
                    this.myName = (string)key.GetValue("Message_name");          //별칭 설정
                    this.myPort = Convert.ToInt32(key.GetValue("Message_port")); //서버측 포트 설정
                    ClientConnection();                                          //ClientConnection() 함수 호출
                }
                else
                {
                    this.txtMessage.Enabled = false;
                    this.btnSend.Enabled    = false;
                    Disconnection(); //함수 호출
                }
            }
        }
Exemplo n.º 22
0
		private void QuestionServer()
		{
			try
			{
				AddTextDelegate AddText = new AddTextDelegate(PrintToChatBox);
				AddLogDelegate AddLog = new AddLogDelegate(PrintLog);
				delAddNewClient addNewClient = new delAddNewClient(AddNewClient);

				IPAddress ip = new IPAddress(0);
				int port = defaultPort;

				stQuestion.Server = new TcpListener(ip, port);

				stQuestion.Server.Start();

				Invoke(AddText, "서버가 켜졌어용!");
				Invoke(AddLog, "server on");

				while (true)
				{
					stQuestion.Client = stQuestion.Server.AcceptTcpClient();
					Invoke(AddLog, "new client");
					Invoke(addNewClient, lastID++, stQuestion.Client.GetStream());
				}

			}
			catch (Exception e)
			{
			}
		}
Exemplo n.º 23
0
        private void LogWrite(string data)
        {
            AddTextDelegate addTextDelegate = new AddTextDelegate(tbLogWrite);

            this.Invoke(addTextDelegate, data);
        }
Exemplo n.º 24
0
        private void toolStripBtn_connect_Click(object sender, EventArgs e)
        {
            AddText = new AddTextDelegate(MessageView);
            if (this.cb_server.Checked == true)
            {
                var addr = new IPAddress(0);
                try
                {
                    this.myID = (string)regkey.GetValue("Message_id");
                }
                catch
                {
                    this.myID   = this.tb_id.Text;
                    this.myPort = Convert.ToInt32(this.tb_port.Text);
                }

                if (!(this.sStart))
                {
                    try
                    {
                        Server = new TcpListener(addr, this.myPort);
                        Server.Start();

                        this.sStart             = true;
                        this.tb_message.Enabled = true;
                        this.btn_send.Enabled   = true;
                        this.tb_message.Focus();
                        this.toolStripBtn_disconnect.Enabled = true;
                        this.toolStripBtn_connect.Enabled    = false;
                        this.cb_server.Enabled = false;

                        threadServer = new Thread(ServerStart);
                        threadServer.Start();
                        this.설정ToolStripMenuItem.Enabled = false;
                    }
                    catch
                    {
                        Invoke(AddText, "서버를 실행할 수 없습니다.");
                    }
                }
                else
                {
                    ServerStop();
                }
            }
            else
            {
                if (!(this.cStart))
                {
                    this.myID   = (string)regkey.GetValue("Message_id");
                    this.myPort = Convert.ToInt32(regkey.GetValue("Message_port"));
                    ClientConnection();
                }
                else
                {
                    this.tb_message.Enabled = false;
                    this.btn_send.Enabled   = false;
                    Disconnection();
                }
            }
        }
Exemplo n.º 25
0
		private void ReceiveForClient()
		{
			try
			{
				delRefresh refreshNames = new delRefresh(RefreshNames);
				AddTextDelegate AddText = new AddTextDelegate(PrintToChatBox);

				while (stClient.client.Connected)
				{
					Thread.Sleep(1);

					if (stClient.stream.CanRead == true)
					{
						string[] tmpStr = new string[3];
						tmpStr[0] = stClient.reader.ReadLine().Decrypt();
						tmpStr = tmpStr[0].Split('ㅩ');
						Invoke(refreshNames, tmpStr[0]);
						if (tmpStr[1].Contains('ㅴ'))
						{
							tmpStr = tmpStr[1].Split('ㅴ');
							Invoke(AddText, tmpStr[0] + "님께서 입장하셨습니다.");
							//tmpStr[0] = tmpStr[1];
						}
						if (tmpStr[1].Length > 0)
						{
							Invoke(AddText, tmpStr[1]);
						}
					}
				}
			}
			catch (Exception e)
			{
			}

		}
Exemplo n.º 26
0
 /// <summary>
 /// 서버 로그창에 로그 쓰기 및 로그파일에 쓰기
 /// </summary>
 /// <param name="svrLog"></param>
 public void LogWrite(string svrLog)
 {
     try
     {
         AddText = new AddTextDelegate(writeLogBox);
         svrLog = "[" + DateTime.Now.ToString() + "] " + svrLog + "\r\n";
         if (LogBox.InvokeRequired)
         {
             Invoke(AddText, svrLog);
             Logger.info(svrLog);
         }
         else
         {
             LogBox.AppendText(svrLog);
             Logger.info(svrLog);
         }
     }
     catch (Exception exception)
     {
         LogWrite(exception.ToString());
     }
 }
Exemplo n.º 27
0
        private void tsbtnConnect_Click(object sender, EventArgs e)
        {
            AddText = new AddTextDelegate(MessageView);
            if(this.cbServer.Checked == true)
            {
                var addr = new IPAddress(0);
                try
                {
                    this.myName = (string)key.GetValue("Message_name");
                    this.myPort = Convert.ToInt32(key.GetValue("Message_port"));
                }
                catch
                {
                    this.myName = this.txtID.Text;
                    this.myPort = Convert.ToInt32(this.txtPort.Text);
                }

                if (!(this.start))
                {
                    try
                    {
                        server = new TcpListener(addr, this.myPort);
                        server.Start();

                        this.start = true;
                        this.txtMessage.Enabled = true;
                        this.btnSend.Enabled = true;
                        this.txtMessage.Focus();
                        this.tsbtnDisconnect.Enabled = true;
                        this.tsbtnConnect.Enabled = false;
                        this.cbServer.Enabled = false;

                        // ServerStart() : Custom Method
                        myServer = new Thread(ServerStart);
                        myServer.Start();
                    }
                    catch
                    {
                        Invoke(AddText, "서버를 실행할 수 없습니다");
                    }
                }
                else
                {
                    // ServerStop() : Custom Method
                    ServerStop();
                }
            }
            else
            {
                if(!(this.clientConnect))
                {
                    this.myName = (string)key.GetValue("Message_name");
                    this.myPort = Convert.ToInt32(key.GetValue("Message_port"));

                    // ClientConnection() : Custom Method
                    ClientConnection();
                }
            }
        }
Exemplo n.º 28
0
        private void ThreadEntry()
        {
            this.scrW = Screen.PrimaryScreen.WorkingArea.Width;
            this.scrH = Screen.PrimaryScreen.WorkingArea.Height;

            Invoke(new AddFlowerDelegate(() => Cursor.Hide()));
            Decart dec = new Decart();

            Object[] obj = new Object[] { dec };

            for (dec.yy = 0; dec.yy < scrH; dec.yy += 100)
            {
                for (dec.xx = 0; dec.xx < scrW;)
                {
                    Invoke(this.addFlowerXY, obj);
                    System.Threading.Thread.Sleep(10);
                }
            }
            for (int fl = 0; fl < 250; fl++)
            {
                Invoke(this.addFlower);
                System.Threading.Thread.Sleep(10);
            }

            Invoke(new AddFlowerDelegate(() =>
            {
                int lh = TextRenderer.MeasureText(this.label1.Text, label1.Font).Height * 2;
                int sh = Screen.PrimaryScreen.WorkingArea.Height / 4;

                this.label1.Location = new Point(label1.Location.X, sh);
                this.label2.Location = new Point(label1.Location.X, sh + lh);
                this.label3.Location = new Point(label1.Location.X, sh + lh * 2);
                this.label4.Location = new Point(label1.Location.X, sh + lh * 4);
            }
                                         ));

            AddTextDelegate showLabel = new AddTextDelegate((lb, x) =>
            {
                lb.Visible = true;
            }
                                                            );

            foreach (KeyValuePair <Label, string> pair in this.dict)
            {
                Invoke(showLabel, new Object[] { pair.Key, ' ' });

                for (int i = 0; i < pair.Value.Length; i++)
                {
                    Invoke(this.addTextDelegate, new Object[] { pair.Key, pair.Value[i] });
                    System.Threading.Thread.Sleep(50);
                }
            }
            Invoke(new AddFlowerDelegate(() =>
            {
                Cursor.Show();
                this.myTimer.Tick    += this.timerEventShow;
                this.myTimer.Interval = 100;
                this.myTimer.Start();
            }
                                         ));
        }