'WPF TCP/IP Client server communication

Here I'm trying to implement a TCP/IP client server Communication in a WPF application. I see many examples in console applications and forms, but not in WPF applications. And also I don't know how to stream messages between a client and server. Could anybody help me out with source code? enter image description here

    Client code

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Net.Sockets;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    using System.IO;
    using System.Threading;
    using System.Net.NetworkInformation;
    using WPFclient;

    namespace WPFClient
      {
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        protected ClientProp WpfClient_;
        public MainWindow()
        {
            InitializeComponent();
        }
        private void Btncnnct1_Click(object sender, RoutedEventArgs e)
        {
            TxtBoxIp1.Text = "192.168.0.150";
            //TcpClient client = new TcpClient();
            this.WpfClient_ = new ClientProp(ipAddress: (this.TxtBoxIp1.Text), portNumber: 138);
            this.WpfClient_.BeginPrepareTCPClient();
            WpfClient_.Connect(IPAddress.Parse(this.TxtBoxIp1.Text), port: 137);
            TxtBoxInfo1.Text = "connected" + Environment.NewLine;
        }
        private void BtnSnd_Click(object sender, RoutedEventArgs e)
        {
            Byte[] data = System.Text.Encoding.ASCII.GetBytes(TxtBoxMsg1.Text);
            NetworkStream networkStream = WpfClient_.GetStream();
            StreamWriter stream = new StreamWriter(TxtBoxMsg1.Text);
            stream.Write(TxtBoxMsg1.Text, 0, TxtBoxMsg1.Text.Length);
            TxtBoxInfo1.Text += $"Server : {TxtBoxMsg1.Text}{Environment.NewLine}";
          
        }

Help me out to communicate between a server and client in a WPF application. I checked out many methods like stream, network stream, dispatcher, etc.... I couldn't understand the code. I have created two WPF Applications one for server and one for client. [enter image description here][2] [2]: https://i.stack.imgur.com/pYKaq.png

    Server Code

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Net.Sockets;
    using System.Text;
    using System.Threading;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    using System.IO;

    namespace ServerWPF
     {
     /// <summary>
     /// Interaction logic for MainWindow.xaml
     /// </summary>
    public partial class MainWindow : Window
     {
        private string line;

        public MainWindow()
        {
            InitializeComponent();
        }    
        private void BtnStrt_Click(object sender, RoutedEventArgs e)
        {
            TxtBoxIp.Text = "192.168.0.150";
            TcpListener server = new TcpListener(IPAddress.Parse(TxtBoxIp.Text), port: 137);
            server.Start();
            TcpClient client = server.AcceptTcpClient();
            TxtBoxInfo.Text = "Server Connected" + Environment.NewLine;
            BtnStrt.IsEnabled = false;
            BtnSend.IsEnabled = true;
            NetworkStream stream = client.GetStream();
            StreamReader reader = new StreamReader(client.GetStream(), Encoding.UTF8);         
        }
        private void BtnSend_Click(object sender, RoutedEventArgs e)
        {
        
        }


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source