Я пытаюсь отправить информацию в формате json через сокет, но когда сервер отправляет и приходит в начале, у них есть определенные специальные символы.странные символы при отправке информации через DataOutputStream.writeUTF()
как ♠ * {Трейс: {ListFile ....}}
Client Class
public static void Connect() throws UnknownHostException, IOException, InvalidKeyException, IllegalBlockSizeException, BadPaddingException, NoSuchAlgorithmException, NoSuchPaddingException{
String OUTPUT = getProperties();
try{
Tunnel = new Socket(HOSTNAME , PORT);
InputStream = new DataInputStream(Tunnel.getInputStream());
OutputStream = new DataOutputStream(Tunnel.getOutputStream());
String OutSerial = "{ Trace: { "+OUTPUT+"}}";
OutputStream.writeUTF(OutSerial);
Tunnel.close();
}catch(Exception e){}
}
Class Server
public static void Listening(String port) throws IOException, InterruptedException{
BufferedReader Input;
int PORT = Integer.parseInt(port);
sc =new ServerSocket(PORT);
so =new Socket();
so = sc.accept();
Debug.DebugM("It is connected a bot.");
Input = new BufferedReader(new InputStreamReader(so.getInputStream()));
Output = new DataOutputStream(so.getOutputStream());
String INPUT = null;
while((INPUT = Input.readLine()) != null){
System.out.println(INPUT);
}}
Как решить? Thanks
Также никогда не замораживайте свои исключения } catch (Exception e) {} –
getProperties просто для создания строки в json. –
Я тестировал с trim() для ясных пустых байтов, но не работал. –