public void ConnectClient() { client = new TcpClient(); IpEndPoint = new IPEndPoint(IPAddress.Parse(_ipAddress), int.Parse(_port)); try { //connect our tcp client to the endpoint with the specified ip and port client.Connect(IpEndPoint); if (client.Connected) { _mainWindowViewModel.IsConnected(); netStream = client.GetStream(); //set background listener on background thread BackgroundStreamListener backgroundStreamListener = new BackgroundStreamListener(); Thread thread = new Thread(() => backgroundStreamListener.ClientRunMessageListener(netStream, client, _mainWindowViewModel)); thread.IsBackground = true; thread.Start(); } } catch (Exception e) { MessageBox.Show(e.Message); } }
//start the server and listen for data public void StartServer() { //init and start new tcp listener, listening for any ip on the user specified port listener = new TcpListener(IPAddress.Any, int.Parse(_port)); listener.Start(); socket = listener.AcceptSocket(); if (socket.Connected) { _mainWindowViewModel.IsConnected(); netStream = new NetworkStream(socket); //set background listener on background thread BackgroundStreamListener backgroundStreamListener = new BackgroundStreamListener(); Thread thread = new Thread(() => backgroundStreamListener.ServerRunMessageListener(netStream, socket, _mainWindowViewModel)); thread.IsBackground = true; thread.Start(); } }