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);
        }
示例#5
0
        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);
        }
示例#6
0
        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);
        }