Problema com retorno PABX

3 respostas
C

Finalmente consegui receber dados do pabx com o java, to acessando a porta serial.
Mas ta acontecendo um problema. O modo que retorna as vezes:

DEBUG: Port Event Type = 1
DEBUG: msg --> tipo: 10.07.09
DEBUG: Port Event Type = 1
DEBUG: msg --> tipo: 17:05:11 11 227
DEBUG: Port Event Type = 1
DEBUG: msg --> tipo: 00:12 00:00:34
DEBUG: Port Event Type = 1
DEBUG: msg --> tipo: 1
DEBUG: Port Event Type = 1
DEBUG: msg -->

Mas as vezes da uma embaralhada

DEBUG: Port Event Type = 1
DEBUG: msg --> tipo: 10.07.09
DEBUG: Port Event Type = 1
DEBUG: msg --> tipo: 17:05:11 11 227
DEBUG: Port Event Type = 1
DEBUG: msg --> tipo: :34 00:00
DEBUG: Port Event Type = 1
DEBUG: msg --> tipo: 32334 1
DEBUG: Port Event Type = 1
DEBUG: msg --> 585

O número de telefone quebra em partes ou a duração. Alguem pode ajudar? alguma dica?
Obrigado

3 Respostas

T

Se você está usando o JavaCOMM para ler a interface serial, fique sabendo que ele tem o seguinte comportamento: ele chama um evento que você definiu, e o chama quando bem entende - normalmente quando o buffer da serial encheu (esse buffer tem cerca de 16 bytes, consulte a documentação do chip serial INS16550 ), ou quando transcorreu um determinado intervalo de tempo. Não vi qual é o tamanho da quebra no seu programa, mas pode ser cerca de 8 ou 16 bytes.

É por isso que ele lhe manda “quebrado”. Por isso, é aconselhável você checar se existe alguma forma de separar as mensagens (talvez seja STX, ETX, LF ou CR) e ir agrupando os bytes até que uma mensagem completa seja recebida, ou então que passe um determinado tempo que você configura na sua aplicação.

C

blz cara, vo ver o tamanho dos bytes e tentar agrupar pra depois criar a string.
Vlw

C

como eu faço para agrupar arrays de bytes?

Criado 13 de julho de 2009
Ultima resposta 13 de jul. de 2009
Respostas 3
Participantes 2