Olá pessoal,
Tenho uma aplicação com ServerSocket que está recebendo via TCP/IP o seguinte valor:
\u0000Q\u0011\u000 0\ufffd\ e assim por diante…isso é caracter certo? eu esperava valores decimais e hexadecimais…como converto para String?
seguem o método:
public static void main(String args[]){
try {
lerArquivoConfiguracao();
System.out.println("Inciando Autorizador...");
ServerSocket scktServer = new ServerSocket(porta);
System.out.println("Autorizador Iniciado com Sucesso.");
while(true){
System.out.println("Aguardando Chamada, porta " + porta + "... ");
Socket socket = scktServer.accept();
System.out.println("Conexao capturada... Cliente IP " + socket.getInetAddress().getHostAddress());
BufferedInputStream bufferedInput =
new BufferedInputStream(socket.getInputStream());
byte[] packByte = new byte[1024];
Integer numBytes = bufferedInput.read(packByte,0,packByte.length);
String pack = new String(packByte,0,numBytes);
//grava em arquivo texto a mensagem recebida
pack+="\n";
FileWriter file = new FileWriter("msg.txt",true);
file.write(pack);
file.close();
Integer codigoMensagem = Integer.parseInt(pack.substring(3, 4));
switch(codigoMensagem){
case 1100:
new Thread(new ConsultaAdiantamento(socket,pack)).start();
break;
}
}
} catch (Exception ex) {
System.out.println("Erro:" +ex.getMessage());
}
}
obrigado. abraços.