// 보내기 버튼 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(); }
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(); }
// 시작 버튼 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("서버가 실행되었습니다.")); }
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)); }
// 시작 버튼 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(); }
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(); }