Estou tentando a integração via socket com a catraca da tecnibra.
A catraca funciona como cliente e irá se conectar no meu servidor e para iniciar ao se conectar ela enviar $ como comando.
A catraca se conecta ao meu socket porém na hora da leitura do comando enviado por ela, nada é lido e trava o programa ai.
Alguém já conseguiu integrar com java nesta catraca?
Ou o que pode estar errado?
ServerSocket servidor = new ServerSocket(portaServidor);
Socket cliente = servidor.accept();
InputStream inp = this.cliente.getInputStream();
BufferedReader brinp = new BufferedReader(new InputStreamReader(inp));
String line;
while((line = brinp.readLine()) != null)
{
System.out.println("entrada: " + line);
}
Consegui fazendo a leitura assim:
InputStream in = this.cliente.getInputStream();
int size = in.available();
byte[] buf = new byte[size];
in.read(buf, 0, size);
Agora meu problema já é outro:
Quando envio o comando para a catraca ela não aceita ou responde e voltar a mandar o comando de contato inicial.
Para enviar:
String resp = “01;”;
DataOutputStream out = new DataOutputStream(this.cliente.getOutputStream());
out.writeInt(resp.length());
if (resp.length() > 0) {
out.write(resp.getBytes(), 0, resp.length());
}
out.flush();
Não recebo erros.
Estou tendo o mesmo problema, mas no meu caso o programa que vem com ela funciona normalmente, mas o meu socket o terminal responde erro de comunicação.
Como você conseguiu resolver?
Poderia me explicar?