prepare for racv2 final update (I hate PID collisions)
This commit is contained in:
parent
933af5c5e0
commit
12e595bb73
@ -99,7 +99,7 @@ public class CrabClient implements Crab {
|
||||
|
||||
private void sendPacket(byte PID, String argument, boolean receiveResponse) throws IOException {
|
||||
if (socket == null || socket.isClosed()) connect();
|
||||
String formattedMessage = String.valueOf((char) PID) + argument;
|
||||
String formattedMessage = (char) PID + argument;
|
||||
|
||||
out.print(formattedMessage);
|
||||
out.flush();
|
||||
@ -113,7 +113,7 @@ public class CrabClient implements Crab {
|
||||
}
|
||||
|
||||
private void sendMessage(String msg) throws IOException {
|
||||
sendPacket(COMMUNICATION, this.nickname + msg, false);
|
||||
sendPacket(MESSAGE, this.nickname + msg, false);
|
||||
closeConnection();
|
||||
}
|
||||
|
||||
@ -122,10 +122,10 @@ public class CrabClient implements Crab {
|
||||
case LOGS_SIZE -> {
|
||||
String convertedString = Util.readAsciiNumber(in);
|
||||
if (!convertedString.isEmpty()) lastBufferLength = Integer.parseInt(convertedString);
|
||||
} case LOGS -> {
|
||||
} case CACHED_LOGS -> {
|
||||
byte[] bytes = socket.getInputStream().readNBytes(lastBufferLength - cache.sizeInBytes());
|
||||
cache = new Logs(lastBufferLength, cache.content() + new String(bytes, StandardCharsets.UTF_8));
|
||||
} case COMMUNICATION -> {
|
||||
} case LOGS -> {
|
||||
byte[] bytes = socket.getInputStream().readNBytes(lastBufferLength);
|
||||
cache = new Logs(lastBufferLength, new String(bytes, StandardCharsets.UTF_8));
|
||||
} default -> {
|
||||
@ -146,9 +146,9 @@ public class CrabClient implements Crab {
|
||||
private void getLogs() throws IOException {
|
||||
sendPacket(LOGS_SIZE, "", true);
|
||||
if (this.cache.sizeInBytes() < lastBufferLength) {
|
||||
sendPacket(LOGS, String.valueOf(cache.sizeInBytes()), true);
|
||||
sendPacket(CACHED_LOGS, String.valueOf(cache.sizeInBytes()), true);
|
||||
} else if (this.cache.sizeInBytes() != lastBufferLength) {
|
||||
sendPacket(COMMUNICATION, "", true);
|
||||
sendPacket(LOGS, "", true);
|
||||
}
|
||||
closeConnection();
|
||||
printLogs();
|
||||
|
@ -2,6 +2,8 @@ package net.pixtaded.crab.common;
|
||||
|
||||
public class PID {
|
||||
public static final byte LOGS_SIZE = 0x00;
|
||||
public static final byte COMMUNICATION = 0x01;
|
||||
public static final byte LOGS = 0x02;
|
||||
public static final byte LOGS = 0x01;
|
||||
public static final byte MESSAGE = 0x01;
|
||||
public static final byte CACHED_LOGS = 0x02;
|
||||
public static final byte AUTHENTICATED_MESSAGE = 0x02;
|
||||
}
|
@ -14,9 +14,9 @@ import static net.pixtaded.crab.common.PID.*;
|
||||
public class ServerThread implements Runnable {
|
||||
|
||||
private final Socket socket;
|
||||
private PrintWriter out;
|
||||
private final PrintWriter out;
|
||||
private final BufferedReader in;
|
||||
private OutputStream output;
|
||||
private final OutputStream output;
|
||||
private final InputStream input;
|
||||
private final CrabServer server;
|
||||
|
||||
@ -38,7 +38,7 @@ public class ServerThread implements Runnable {
|
||||
return;
|
||||
}
|
||||
switch (PID[0]) {
|
||||
case COMMUNICATION -> {
|
||||
case MESSAGE -> {
|
||||
String msg = new String(input.readNBytes(4096), StandardCharsets.UTF_8).trim();
|
||||
Date date = new Date();
|
||||
String address = socket.getInetAddress().getHostAddress();
|
||||
@ -69,9 +69,9 @@ public class ServerThread implements Runnable {
|
||||
}
|
||||
|
||||
private void sendLogs(byte PID) throws IOException {
|
||||
if (PID == COMMUNICATION) {
|
||||
if (PID == LOGS) {
|
||||
respond(server.cache.content());
|
||||
} else if (PID == LOGS) {
|
||||
} else if (PID == CACHED_LOGS) {
|
||||
String clientSize = Util.readAsciiNumber(in);
|
||||
int clientSizeNum = Integer.parseInt(clientSize);
|
||||
byte[] serverLogs = server.cache.content().getBytes(StandardCharsets.UTF_8);
|
||||
|
Loading…
Reference in New Issue
Block a user