первую очередь, я новичок в программировании, и задача им пытаются выполнить это:Как отображать полученные байты как текст в java?
send bytes from my delphi program to java server(done!)
display received bytes as text in a java server
T H E Вопрос: Как отображать полученные байты в Java?
Большое спасибо, если бы вы могли помочь, это спасло бы меня по меньшей мере еще одну бессонную ночь.
Мой работает пример кода из приложения DELPHI:
procedure sendInt(val: integer);
begin
Socket.SendByte(byte(val shr 24));
Socket.SendByte(byte(val shr 16));
Socket.SendByte(byte(val shr 8));
Socket.SendByte(byte(val));
end;
Java-сервер кода я был в состоянии собрать, вероятно, чепуху.
ServerSocket sc=new ServerSocket(9999);
Socket s=sc.accept();
DataInputStream dos=new DataInputStream(s.getInputStream());
String msg=dos.readUTF();
System.out.println(msg);
Что это делает: Если я запустить сервер Java, и отправить байт - возвращает нуль. Если я отправляю непрерывные байты - сервер ничего не делает, и только после того, как я закончу его отправку, вы увидите целую пучку нулей, не уверен, что это помогает, просто пытаясь дать как можно больше информации о барахло. Спасибо !
Вы можете использовать конструктор 'String' [который принимает байты] (https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#String (byte [],% 20java.nio.charset.Charset)) и распечатать результат. – Jezor
Является ли 'val', что вы отправляете строку или номер? Похоже, вы должны читать 'int' вместо строки. – chrylis
Да, вы правы, val целое число, я понял, что чтение строки и целого числа в java - это одна и та же процедура, я просто зеленый –