Boa tarde,
Preciso receber de modo continuo os dados do modulo da balança toledo via comunicação TCP/IP.
Estou utilizando o código abaixo dentro de um timer, que é executado a cada 1 segundo. Meu problema é que na primeira execução é recebido o buffer completo e nas próximas execuções do timer nenhum dados é recebido. Como posso ler os dados continuamente?
Quando utilizado porta serial, após a abertura da Porta, utilizando o comando thread.sleep() para ler a porta durante alguns segundos. Tentei utilizar o mesmo procedimento utilizando socket mas não funcionou, pois não há buffer para leitura posterior a primeira
captura.
Como posso resolver este problema??
TcpClient tcpClient = new TcpClient();
tcpClient.Connect(IPAddress.Parse(this.moduloIP), Convert.ToInt32(this.moduloPorta));
if (tcpClient.Connected)
{
NetworkStream networkStream = tcpClient.GetStream();
if (networkStream.CanRead)
{
Byte[] b = new Byte[tcpClient.ReceiveBufferSize];
networkStream.Read(b, 0, tcpClient.ReceiveBufferSize);
dados = Encoding.ASCII.GetString(b);
}
}