private void backWorker_DoWork(object sender, DoWorkEventArgs e) { TcpClient tcpClient = (TcpClient)e.Argument; string clientHost = ""; try { clientHost = ((System.Net.IPEndPoint)tcpClient.Client.RemoteEndPoint).Address.ToString(); NetworkStream clientStream = tcpClient.GetStream(); byte[] message = new byte[4096]; int bytesRead = 0; while (true) { bytesRead = 0; bytesRead = clientStream.Read(message, 0, 4096); //blocks until a client sends a message if (bytesRead == 0) { break; // TODO: might not be correct. Was : Exit While //the client has disconnected from the server } //'message has successfully been received //Dim encoder As New ASCIIEncoding() //Dim serverResponse As String = "Response to send" //Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes(serverResponse) //clientStream.Write(sendBytes, 0, sendBytes.Length) //Debug.Print(Now.ToString & " data received " & bytesRead.ToString) //Dim t As New Threading.Thread(Sub() RaiseEvent RawDataArrival(Me, message)) //t.Start() string aux = Encoding.ASCII.GetString(message); string[] stringSeparators = new string[] { "#" }; string[] asLines = aux.Split(stringSeparators, StringSplitOptions.None); foreach (string line in asLines) { if (line.Trim().Length > 0 & line.StartsWith(String.Empty) == false) { //Dim tLine As New Threading.Thread(Sub() RaiseEvent CSVLineDataArriaval(Me, clientHost, line)) //tLine.Start() backworker_progress res = default(backworker_progress); res.senderHost = clientHost; res.line = line; ((BackgroundWorker)sender).ReportProgress(0, res); } } // Debug.Print(" " & aux) } tcpClient.Close(); } catch (Exception ex) { tcpClient.Close(); Console.WriteLine(ex.ToString()); } }
private void backWorker_DoWork(object sender, DoWorkEventArgs e) { TcpClient tcpClient = (TcpClient)e.Argument; string clientHost = ""; try { clientHost = ((System.Net.IPEndPoint)tcpClient.Client.RemoteEndPoint).Address.ToString(); NetworkStream clientStream = tcpClient.GetStream(); byte[] message = new byte[4096]; int bytesRead = 0; while (true) { bytesRead = 0; bytesRead = clientStream.Read(message, 0, 4096); //blocks until a client sends a message if (bytesRead == 0) { break; // TODO: might not be correct. Was : Exit While //the client has disconnected from the server } string aux = Encoding.ASCII.GetString(message); string[] stringSeparators = new string[] { "#" }; string[] asLines = aux.Split(stringSeparators, StringSplitOptions.None); foreach (string line in asLines) { if (line.Trim().Length > 0) { backworker_progress res = default(backworker_progress); res.senderHost = clientHost; res.line = line; ((BackgroundWorker)sender).ReportProgress(0, res); } } } tcpClient.Close(); } catch (Exception ex) { tcpClient.Close(); Console.WriteLine(ex.ToString()); } }
private void backWorker_ProgressChanged(object sender, ProgressChangedEventArgs e) { backworker_progress res = (backworker_progress)e.UserState; }
private void backWorker_ProgressChanged(object sender, ProgressChangedEventArgs e) { backworker_progress res = (backworker_progress)e.UserState; IMUdata data = new IMUdata(res.senderHost, res.line); //error_text = data.Get_csvLine (); }