void DataReceived(IAsyncResult ar) { AsyncObject obj = (AsyncObject)ar.AsyncState; int received = obj.WorkingSocket.EndReceive(ar); if (received <= 0) { obj.WorkingSocket.Close(); return; } string data = Encoding.UTF8.GetString(obj.Buffer); var readJson = JObject.Parse(data); if (readJson["res"].ToString() == "true") { MsgBoxHelper.Show("회원가입이 되었습니다!", MessageBoxButtons.OK); SetVisibility(this, false); LoginForm loginForm = new LoginForm(); loginForm.ShowDialog(); } else { MsgBoxHelper.Show(readJson["result"].ToString(), MessageBoxButtons.OK); } SetEnabled(registerBt, true); }
private void RegisterBt_Click(object sender, EventArgs e) { registerBt.Enabled = false; socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); var Register = new JObject(); Register.Add("req", "register"); Register.Add("id", id.Text); Register.Add("pw", pw.Text); byte[] registerData = Encoding.UTF8.GetBytes(Register.ToString()); try { socket.Connect(IPAddress.Parse("192.168.1.186"), 9000); } catch (Exception ex) { MsgBoxHelper.Error("연결에 실패했습니다!\n오류 내용:{0}", MessageBoxButtons.OK, ex.Message); } if (!socket.IsBound) { MsgBoxHelper.Warn("서버가 실행되고 있지 않습니다!"); return; } AsyncObject obj = new AsyncObject(4096); obj.WorkingSocket = socket; socket.BeginReceive(obj.Buffer, 0, obj.BufferSize, 0, DataReceived, obj); socket.Send(registerData); }
void DataReceived(IAsyncResult ar) { AsyncObject obj = (AsyncObject)ar.AsyncState; try { int received = obj.WorkingSocket.EndReceive(ar); if (received <= 0) { obj.WorkingSocket.Close(); Application.Exit(); return; } string data = Encoding.UTF8.GetString(obj.Buffer); var readJson = JObject.Parse(data); onlineList.Items.Clear(); foreach (var item in readJson["result"]) { SetListView(onlineList, item.ToString()); } obj.ClearBuffer(); obj.WorkingSocket.BeginReceive(obj.Buffer, 0, 4096, 0, DataReceived, obj); } catch { SetFormClose(this); } }
private void OnFormLoaded(object sender, EventArgs e) { var onlineListReq = new JObject(); onlineListReq.Add("req", "list"); byte[] onlineListData = Encoding.UTF8.GetBytes(onlineListReq.ToString()); AsyncObject obj = new AsyncObject(4096); obj.WorkingSocket = PassSocket; PassSocket.BeginReceive(obj.Buffer, 0, obj.BufferSize, 0, DataReceived, obj); PassSocket.Send(onlineListData); }
void DataReceived(IAsyncResult ar) { AsyncObject obj = (AsyncObject)ar.AsyncState; int received = obj.WorkingSocket.EndReceive(ar); if (received <= 0) { obj.WorkingSocket.Close(); return; } string text = Encoding.UTF8.GetString(obj.Buffer); AppendText(chat, string.Format("[받음] {0}", text)); obj.ClearBuffer(); obj.WorkingSocket.BeginReceive(obj.Buffer, 0, 4096, 0, DataReceived, obj); }
private void OnFormLoaded(object sender, EventArgs e) { thisAddress = IPAddress.Parse("210.123.255.192"); int port = 9000; AppendText(chat, string.Format("IP: {0}, Port: {1}", thisAddress, port)); try { mainSock.Connect(thisAddress, port); } catch (Exception ex) { MsgBoxHelper.Error("연결에 실패했습니다!\n오류 내용:{0}", MessageBoxButtons.OK, ex.Message); Close(); } AppendText(chat, "서버와 연결되었습니다."); AsyncObject obj = new AsyncObject(4096); obj.WorkingSocket = mainSock; mainSock.BeginReceive(obj.Buffer, 0, obj.BufferSize, 0, DataReceived, obj); }