CrossJeeves Works!

This commit is contained in:
Flare Microsystems
2024-11-13 20:05:59 -08:00
parent f768ec0aa5
commit fd13c3d046
34 changed files with 399 additions and 103 deletions

View File

@@ -19,6 +19,7 @@ import com.flaremicro.crossjeeves.net.packet.Packet3Clone;
import com.flaremicro.crossjeeves.net.packet.Packet5Artifact;
import com.flaremicro.crossjeeves.net.packet.Packet4FileData;
import com.flaremicro.crossjeeves.net.packet.Packet6Disconnect;
import com.flaremicro.crossjeeves.net.packet.Packet7LogEntry;
public class ServerHandler extends NetworkHandler {
private CrossJeevesHost host;
@@ -31,6 +32,20 @@ public class ServerHandler extends NetworkHandler {
this.scriptProcessor = new ScriptProcessor(this, workspace, properties);
}
public void disconnect(int code, String message) {
enqueue(new Packet6Disconnect(code, message));
try
{
Thread.sleep(1000L);
}
catch (InterruptedException e)
{
if(isConnected())
e.printStackTrace();
}
super.disconnect(code, message);
}
@Override
protected void doDisconnect(int exitCode)
{
@@ -46,6 +61,7 @@ public class ServerHandler extends NetworkHandler {
@Override
public void handlePacket(Packet0Identify packet) {
System.out.println("Got valid identify packet with flags " + packet.getFlags() + " and version " + packet.getProtocolVersion());
enqueue(new Packet0Identify(0));
}
@@ -61,7 +77,14 @@ public class ServerHandler extends NetworkHandler {
@Override
public void handlePacket(Packet3Clone packet) {
disconnect(INVALID_PACKET_RECIEVED.id, "Recieved invalid packet " + packet.getId() + " (Clone)");
try
{
this.beginFile(packet.getFileID(), packet.getFileSize());
}
catch (IOException e)
{
disconnect(FILE_DOWNLOAD_FAILURE.id, "Failed to start download of transferred file");
}
}
@Override
@@ -92,4 +115,15 @@ public class ServerHandler extends NetworkHandler {
doDisconnect(packet.getCode());
}
public void init() {
this.beginWriteThread();
this.beginReadThread();
}
@Override
public void handlePacket(Packet7LogEntry packet) {
// TODO Auto-generated method stub
}
}