This commit is contained in:
Steven Tracey 2023-07-06 13:24:11 -04:00
parent 35177895ce
commit cec3d71e52
7 changed files with 73 additions and 30 deletions

2
gradle.properties Normal file
View File

@ -0,0 +1,2 @@
org.gradle.parallel=true
org.gradle.caching=true

View File

@ -23,6 +23,8 @@ public class Main {
});
sfsServer.start();
Thread sftpServer = new Thread(() -> {
try {
System.out.println("Starting sftp server...");
@ -31,7 +33,7 @@ public class Main {
e.printStackTrace();
}
});
sftpServer.start();
//sftpServer.start();
Thread httpServer = new Thread(() -> {
try {
@ -41,7 +43,7 @@ public class Main {
e.printStackTrace();
}
});
httpServer.start();
//httpServer.start();
}
}

View File

@ -0,0 +1,8 @@
package tech.nevets.sfss.net;
public class Connection {
public Connection() {
}
}

View File

@ -1,27 +0,0 @@
package tech.nevets.sfss.net;
public class SFSData {
private final byte length;
public SFSData(byte[] data) {
this.length = data[0];
}
public SFSData(int length) {
if (length > 255 || length < 0) {
throw new IllegalArgumentException("Length outside range 0-255");
}
this.length = (byte) length;
}
public byte getLength() {
return length;
}
public byte[] toBytes() {
return new byte[]{
length
};
}
}

View File

@ -6,9 +6,11 @@ import javax.net.ssl.SSLServerSocket;
import javax.net.ssl.SSLServerSocketFactory;
import javax.net.ssl.SSLSocket;
import java.io.IOException;
import java.util.concurrent.atomic.AtomicBoolean;
public class SFSServer {
private final SSLServerSocket serverSocket;
private volatile boolean running = true;
public SFSServer(int port) throws IOException {
SSLServerSocketFactory factory = StoreManager.getSSLContext().getServerSocketFactory();
@ -20,6 +22,17 @@ public class SFSServer {
serverSocket.setNeedClientAuth(false);
serverSocket.setWantClientAuth(false);
SSLSocket s = (SSLSocket) serverSocket.accept();
while(running) {
SSLSocket conn = (SSLSocket) serverSocket.accept();
conn.getChannel();
}
}
public boolean isRunning() {
return running;
}
public void stop() {
running = false;
}
}

View File

@ -0,0 +1,16 @@
package tech.nevets.sfss.net.packets;
import java.net.DatagramPacket;
public class SFSData {
private final DatagramPacket packet;
public SFSData(DatagramPacket packet) {
this.packet = packet;
}
public DatagramPacket getPacket() {
return packet;
}
}

View File

@ -0,0 +1,29 @@
package tech.nevets.sfss.net.packets;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.charset.StandardCharsets;
public class SFSInfo {
private final int length;
private final String fileName;
public SFSInfo(int length, String fileName) {
if (length < 0) {
throw new IllegalArgumentException("Length cannot be negative");
}
this.length = (byte) length;
this.fileName = fileName;
}
public int getLength() {
return length;
}
public byte[] toBytes() {
byte[] data = new byte[512];
System.arraycopy(ByteBuffer.allocate(4).order(ByteOrder.LITTLE_ENDIAN).putInt(length).array(), 0, data, 0, 4);
System.arraycopy(fileName.getBytes(StandardCharsets.UTF_8), 0, data, 4, fileName.getBytes(StandardCharsets.UTF_8).length);
}
}