Exemple #1
0
        private async void EVENT_LOAD(object sender, RoutedEventArgs e)
        {
linkload:
#pragma warning disable CS0618 // Тип или член устарел
            IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName());
#pragma warning restore CS0618 // Тип или член устарел
            IPAddress  ipAddress = ipHostInfo.AddressList[0];
            IPEndPoint ipPoint   = new IPEndPoint(ipAddress, 8005);

            Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

            try
            {
                socket.Bind(ipPoint);

                socket.Listen(10);
                IP4CONNECT_LABEL.Content = "Server started on adress: " + ipAddress.ToString() + ":8005";
                await Task.Run(async() =>
                {
                    while (true)
                    {
                        Socket handler        = socket.Accept();
                        StringBuilder builder = new StringBuilder();
                        int bytes             = 0;
                        byte[] data           = new byte[256];

                        do
                        {
                            bytes = handler.Receive(data);
                            builder.Append(Encoding.Unicode.GetString(data, 0, bytes));
                        }while (handler.Available > 0);
                        Action action = () =>
                        {
                            MESSAGES.Text += DateTime.Now.ToShortTimeString() + ": " + builder.ToString() + "\n";
                        };
                        await MESSAGES.Dispatcher.BeginInvoke(action);
                        string message = "Your message sended";
                        data           = Encoding.Unicode.GetBytes(message);
                        handler.Send(data);
                    }
                });
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                Memate.BeginInit();
            }
        }
Exemple #2
0
        private void SEND_CLICK(object sender, RoutedEventArgs e)
        {
            string ipAdress = IP_BOX.Text;
            int    port     = Convert.ToInt32(PORT_BOX.Text);

            try
            {
                IPEndPoint ipPoint = new IPEndPoint(IPAddress.Parse(ipAdress), port);

                Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                socket.Connect(ipPoint);
                string message = MESSAGE_TEXTBOX.Text;
                byte[] data    = Encoding.Unicode.GetBytes(message);
                socket.Send(data);
                MESSAGES.Text += DateTime.Now.ToShortTimeString() + ": " + message + "\n";
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                Memate.BeginInit();
            }
        }