Клиент получает все подтверждения, отправленные ему сервером, но отмены не происходит.
Код: Выделить всё
if (type == 2) {
System.out.println("HELLO?1.");
System.out.println("Client with id " + client + " is asking for a task");
System.out.println("HELLO?2.");
String taskCommand = readTaskFromJSON(client);
String taskMessage = utils.createTaskDatagram(4, sequenceNumber, client, taskCommand);
System.out.println("HELLO?3.");
DatagramPacket taskPacket = new DatagramPacket(
taskMessage.getBytes(), taskMessage.length(), clientAddress, clientPort
);
System.out.println("Will send.");
socket.send(taskPacket);
System.out.println("Sent.");
// Creating an Pending ACK (something that I'm expecting to get from Client)
System.out.println("Calling createPendingAck para seq=" + sequenceNumber + " e id=" + client);
ackHandle.createPendingAck(sequenceNumber, client, clientAddress, clientPort, taskPacket);
return;
}
Код: Выделить всё
Client registred with ID: 1
Client with id 1 is asking for a task
Я не знаю, почему он не печатает предыдущие сообщения. он также не входит в другие циклы, которые у меня есть, например: (if type==3), что должно происходить, когда клиент отправляет ACK.
Я использую импорт: import org.json.JSONArray;
Итак, я установил файл json-20240303.jar и компилирую его с помощью команды:
Код: Выделить всё
javac -cp myproject.jar:json-20240303.jar Server.java
Заранее спасибо.
Подробнее здесь: https://stackoverflow.com/questions/792 ... right-mess