Попытка исправления краша ядра

This commit is contained in:
Reider745
2024-03-29 08:38:10 +03:00
parent f2fc6896e1
commit b72d3c8f5c
@@ -21,23 +21,29 @@ public class SocketDataChannel extends DataChannel {
@Override
public void sendImpl(DataPacket packet) throws IOException {
outputStream.writeUTF(packet.name);
outputStream.writeByte(packet.formatId);
outputStream.writeInt(packet.data.length);
outputStream.write(packet.data);
if(socket.isClosed()) return;
synchronized (outputStream) {
outputStream.writeUTF(packet.name);
outputStream.writeByte(packet.formatId);
outputStream.writeInt(packet.data.length);
outputStream.write(packet.data);
}
}
@Override
public DataPacket receiveImpl() throws IOException {
String name = inputStream.readUTF();
int formatId = inputStream.readByte();
int size = inputStream.readInt();
if (size < 0 || size > 1024 * 1024 * 64) {
throw new IOException("packet has invalid size " + size);
if(socket.isClosed()) return null;
synchronized (inputStream) {
String name = inputStream.readUTF();
int formatId = inputStream.readByte();
int size = inputStream.readInt();
if (size < 0 || size > 1024 * 1024 * 64) {
throw new IOException("packet has invalid size " + size);
}
byte[] data = new byte[size];
inputStream.readFully(data);
return new DataPacket(name, formatId, data);
}
byte[] data = new byte[size];
inputStream.readFully(data);
return new DataPacket(name, formatId, data);
}
@Override