Изучаю Java Socket и клиент серверную часть, непонятен момент передачи объекта класса (имен и значений переменных для проведения вычислений) от клиента серверу, погуглил решил попробовать передавать через json. Есть класс
public class CalculatorModel
{
private String JSON;
private double number;
private double sizeCredit;
// Конструктор
public CalculatorModel(number, sizeCredit)
{
this.number=number;
this. sizeCredit = sizeCredit;
}
// У него метод читающий данные из csv файла и кидающий их в лист
public void readFile() throws IOException
// Метод инициализации данных
public void initialization()
{
for(int i=0; i<value.size(); i++)
{
number = value.get(i);
sizeCredit = value.get(i+1)
Gson gson = new Gson();
JSON = gson.toJson(new CalculatorModel(number, sizeCredit));
}
}
// Метод производит вычисления и бросает данные в лист
calculation throws IOException ();
{
Возвращает List<String> exitData
}
}
Клиент
public class CalculatorClientIO implements Runnable
{
@Override
public void run()
{
int serverPort=8080;
String adress="127.0.0.1";
try
{
Socket socket = new Socket(adress, serverPort);
System.out.println("Устанавливаем соединение");
DataInputStream in = new DataInputStream(socket.getInputStream());
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
out.write ????????;
out.flush();
String line = in.readUTF();
System.out.println("Сервер ответил: " + line);
}
catch(Exception er)
{
er.printStackTrace();
}
}
}
Сервер
public class CalculatorServerIO
{
public static void main(String[] args)
{
int port=8080;
CalculatorClientIO se=new CalculatorClientIO();
Thread th=new Thread(se);
th.start();
try
{
ServerSocket ss = new ServerSocket(port);
while(true)
{
Socket socket = ss.accept();
System.out.println("Есть контакт !");
DataInputStream in = new DataInputStream(socket.getInputStream());
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
String line = in.read ??????;
System.out.println("Клиент прислал : " + line);
System.out.println("Отправляем ему в ответ: );
out.write??????;
out.flush();
}
}
catch(Exception er)
{
er.printStackTrace();
}
}
}
Для отправки java обектов, используй ObjectInputStream
и ObjectOutputStream
.
У них есть методы readObject
, writeObject
соответственно. Объекты будут сериализоваться в байты и обратно.
Только класс должен реализовать интерфейс Serializable
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Каким образом можно в IDE заменить часть кода таким образом, например я решил ввести
Подскажите, пожалуйста, что здесь не так? Хочу извлечь salary,subject, FirstName данные три поля, при том, что salary>500, но получаю Exception вида
Возникла проблемаИмею две таблицы в SQLite, в первой нормально выводятся и добавляются данные
У меня небольшая проблема со стилизацией SVG и изображением внутриВ SVG у меня есть два фильтра