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()); } }
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) { } }
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) { } }
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); } }
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) { } }
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) { } }
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(); } } }
private void AddTexttoListBox(string text) { if (this.textBoxExame.InvokeRequired) { AddTextDelegate d = new AddTextDelegate(AddTexttoListBox); this.Invoke(d, new object[] { text }); } else { textBoxExame.Text += text; } }
/// <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; } }
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() 함수 호출 } }
/// <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 }); } }
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(); }
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"); } } } }
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"); } } } }
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); } } }
public TextBoxStream(TextBox textBox, Encoding enc) { m_textBox = textBox; m_encoding = enc; addTextDele = new AddTextDelegate(addText); }
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; } } }
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(); //함수 호출 } } }
private void LogWrite(string data) { AddTextDelegate addTextDelegate = new AddTextDelegate(tbLogWrite); this.Invoke(addTextDelegate, data); }
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(); } } }
/// <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()); } }
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(); } } }
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(); } )); }