Esempio n. 1
0
    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());
        }
    }
Esempio n. 2
0
    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());
        }
    }
Esempio n. 3
0
 private void backWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
 {
     backworker_progress res = (backworker_progress)e.UserState;
 }
Esempio n. 4
0
 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 ();
 }