JAVA
Здраствуите, вопрос не совсем по теме но может быть есть кто разбирается в Java. У меня есть скрипт написаный на java который принимает данные с устройсмва типа М2М по разным протоколам. Проблема в том что как принять данные в двоичном виде?
Сам скрипт сервера выглядит так
import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
class Server
extends Thread
{
Socket s;
int num;
String g = "";
String otvet;
String zapis;
String emai;
String dannye;
int countMess = 0;
int endConnection = 0;
static int port = 10002;
static String config = "";
public static void main(String[] paramArrayOfString)
{
try
{
int i = 1;
ServerSocket localServerSocket = new ServerSocket(port);
Scanner localScanner = new Scanner(new File("config_sql.txt"));
while (localScanner.hasNext()) {
config = localScanner.nextLine();
}
localScanner.close();
InetAddress localInetAddress = InetAddress.getLocalHost();
String str = localInetAddress.getHostAddress();
System.out.println("server is started IP:port * " + str + ":" + port);
for (;;)
{
new Server(i, localServerSocket.accept());
i++;
}
}
catch (Exception localException)
{
System.out.println("init error1: " + localException);
}
}
public Server(int paramInt, Socket paramSocket)
{
System.out.println("new connection ---------------------------------------" + paramInt);
this.num = paramInt;
this.s = paramSocket;
setDaemon(true);
setPriority(5);
start();
}
как я понимаю что тут написано как именнно нужно принять данные
public void run()
{
try
{
for (;;)
{
Box localBox = new Box();
Bd localBd = new Bd();
byte[] arrayOfByte = new byte[10467589];
int i = this.s.getInputStream().read(arrayOfByte);
System.out.println("Recessive bite" + i);
if (i == -1)
{
System.out.println("End connection, socet close");
this.s.close();
return;
}
String str = new String(arrayOfByte, 0, i, "UTF-8");
OutputStream localOutputStream = this.s.getOutputStream();
localBd.config = config;
localBox.stroka = str;
this.otvet = localBox.otvet();
localOutputStream.write(this.otvet.getBytes());
localBd.raschet(str);
}
return;
}
catch (Exception localException)
{
System.out.println("init error2: " + localException + "tttt");
}
}
}
сейчас приходит
1234567890123456789&bin=а тут пошла кракозябра типа ???????????