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; } // ID 와 메세지를 담도록 만든다. // 문자열을 utf8 형식의 바이트로 변환한다. byte[] bDts = Encoding.UTF8.GetBytes(nameID + ':' + tts); // byte[] bDts = new byte[4096]; //AppendText(txtHistory, tts); // 서버에 전송한다. mainSock.Send(bDts); // 전송 완료 후 텍스트박스에 추가하고, 원래의 내용은 지운다. AppendText(txtHistory, string.Format("[보냄]{0}: {1}", nameID, 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; } // 서버 ip 주소와 메세지를 담도록 만든다. IPEndPoint ip = (IPEndPoint)mainSock.LocalEndPoint; string addr = ip.Address.ToString(); // 문자열을 utf8 형식의 바이트로 변환한다. byte[] bDts = Encoding.UTF8.GetBytes(addr + '\x01' + tts); // 서버에 전송한다. mainSock.Send(bDts); // 전송 완료 후 텍스트박스에 추가하고, 원래의 내용은 지운다. AppendText(txtHistory, string.Format("[보냄]{0}: {1}", addr, tts)); txtTTS.Clear(); }
void OnSendData(object sender, EventArgs e) { // 서버가 대기중인지 확인한다. if (!mainSock.IsBound) { MsgBoxHelper.Warn("서버가 실행되고 있지 않습니다!"); return; } // 보낼 텍스트 tts = txtTTS.Text.Trim(); if (string.IsNullOrEmpty(tts)) { MsgBoxHelper.Warn("텍스트가 입력되지 않았습니다!"); txtTTS.Focus(); return; } // ID 와 메세지를 담도록 만든다. /* * // 문자열을 utf8 형식의 바이트로 변환한다. * byte[] bDts = Encoding.UTF8.GetBytes(nameID + ':' + tts); * * // 서버에 전송한다. * mainSock.Send(bDts); * * // 전송 완료 후 텍스트박스에 추가하고, 원래의 내용은 지운다. * AppendText(txtHistory, string.Format("[보냄]{0}: {1}", nameID, tts)); * txtTTS.Clear(); * */ dot_x = p.X.ToString(); //x좌표를 int형에서 string 값으로 서버에게 보냄 dot_y = p.Y.ToString(); //y좌표를 int형에서 string 값으로 서버에게 보냄 // 문자열을 utf8 형식의 바이트로 변환한다. byte[] x = Encoding.UTF8.GetBytes(nameID + ':' + tts + ':' + dot_x + ':' + dot_y); // 서버에 전송한다. mainSock.Send(x); // 전송 완료 후 텍스트박스에 추가하고, 원래의 내용은 지운다. AppendText(txtHistory, string.Format("[보냄]{0}: {1}, x좌표{2}, y좌표{3}", nameID, tts, dot_x, dot_y)); Console.WriteLine(dot_x); Console.WriteLine(dot_y); txtTTS.Clear(); }
private void PictureBox1_Click(object sender, EventArgs e) { if (!mainSock.IsBound) { MsgBoxHelper.Warn("서버가 실행되고 있지 않습니다!"); return; } dot_x = p.X.ToString(); dot_y = p.Y.ToString(); byte[] x = Encoding.UTF8.GetBytes(nameID + ':' + tts + ':' + dot_x + ':' + dot_y + ':'); mainSock.Send(x); AppendText(txtHistory, string.Format("[보냄]: {0}, x좌표{1}, y좌표{2}", tts, dot_x, dot_y)); }
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; } // string[] tokens = tts.Split(':'); byte[] bDts = new byte[4096]; //AppendText(txtHistory, tokens.Length.ToString()); AppendText(txtHistory, tts); if (comboBox1.SelectedItem.Equals("BR")) { bDts = Encoding.UTF8.GetBytes("BR:" + nameID + ':' + tts + ':'); AppendText(txtHistory, string.Format("[전체전송]{0}", tts)); } else { // 문자열을 utf8 형식의 바이트로 변환한다. bDts = Encoding.UTF8.GetBytes("TO:" + nameID + ':' + comboBox1.SelectedItem + ':' + tts + ':'); AppendText(txtHistory, string.Format("[{0}에게 보냄]:{1}", comboBox1.SelectedItem, tts)); } // 서버에 전송한다. mainSock.Send(bDts); // 전송 완료 후 텍스트박스에 추가하고, 원래의 내용은 지운다. //AppendText(txtHistory, string.Format("[보냄]{0}:{1}", nameID, 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; } // ID 와 메세지를 담도록 만든다. // 문자열을 utf8 형식의 바이트로 변환한다. DataForm dataForm = new DataForm(); dataForm.id = nameID; dataForm.text = tts; dataForm.req = "msg"; string request = JsonConvert.SerializeObject(dataForm); byte[] bDts = Encoding.UTF8.GetBytes(request); // Encoding.UTF8.GetBytes(nameID + '`' + tts); // 서버에 전송한다. mainSock.Send(bDts); // 전송 완료 후 텍스트박스에 추가하고, 원래의 내용은 지운다. AppendText(txtHistory, string.Format("[나]{0} : {1}", dataForm.id, dataForm.text)); txtTTS.Clear(); }
private void OnConnectToServer(object sender, EventArgs e) { if (mainSock.Connected) { MsgBoxHelper.Error("이미 연결되어 있습니다!"); return; } int port = 15000; //고정 nameID = txtID.Text.Trim(); //ID if (string.IsNullOrEmpty(nameID)) { MsgBoxHelper.Warn("ID가 입력되지 않았습니다!"); txtID.Focus(); return; } // 서버에 연결 try { mainSock.Connect(txtAddress.Text, port); } catch (Exception ex) { MsgBoxHelper.Error("연결에 실패했습니다!\n오류 내용: {0}", MessageBoxButtons.OK, ex.Message); return; } // 서버로 ID 전송 SendID(); // 연결 완료, 서버에서 데이터가 올 수 있으므로 수신 대기한다. AsyncObject obj = new AsyncObject(4096); obj.WorkingSocket = mainSock; mainSock.BeginReceive(obj.Buffer, 0, obj.BufferSize, 0, DataReceived, obj); }
private void button1_Click(object sender, EventArgs e) { foreach (Form frmm in Application.OpenForms) { if (frmm.Name == "Client") { frmm.Activate(); MessageBox.Show("이미 실행중입니다.", "경고", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } if (mainSock.Connected) { MsgBoxHelper.Error("이미 연결되어 있습니다!"); return; } //닉네임칸이 빈칸이라면 메시지 박스 string name = txtNick.Text.Trim(); if (string.IsNullOrEmpty(name)) { MsgBoxHelper.Warn("닉네임을 입력해 주세요"); txtNick.Focus(); return; } //클라에게 닉네임을 넘겨준다 //Client.nick = txtNick.Text; //클라에게 ip주소를 넘겨준다 //Client.s_ip = txtAddress.Text; Client frm = new Client(); frm.Show(); }