Add more netcode
This commit is contained in:
@@ -2,10 +2,13 @@ package com.flaremicro.crossjeeves.net;
|
||||
|
||||
import static com.flaremicro.crossjeeves.net.ErrorCodes.*;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.net.Socket;
|
||||
import java.util.Properties;
|
||||
import java.util.Random;
|
||||
|
||||
import com.flaremicro.crossjeeves.CrossJeevesHost;
|
||||
import com.flaremicro.crossjeeves.ScriptProcessor;
|
||||
import com.flaremicro.crossjeeves.net.packet.Packet;
|
||||
import com.flaremicro.crossjeeves.net.packet.Packet0Identify;
|
||||
@@ -18,21 +21,32 @@ import com.flaremicro.crossjeeves.net.packet.Packet4FileData;
|
||||
import com.flaremicro.crossjeeves.net.packet.Packet6Disconnect;
|
||||
|
||||
public class ServerHandler extends NetworkHandler {
|
||||
Properties properties;
|
||||
public ServerHandler(Socket socket, Properties properties) throws IOException {
|
||||
private CrossJeevesHost host;
|
||||
private ScriptProcessor scriptProcessor;
|
||||
private File workspace = new File("./workspace/"+new Random().nextLong()+"/");
|
||||
|
||||
public ServerHandler(Socket socket, CrossJeevesHost host, Properties properties) throws IOException {
|
||||
super(socket);
|
||||
this.properties = properties;
|
||||
this.host = host;
|
||||
this.scriptProcessor = new ScriptProcessor(this, workspace, properties);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doDisconnect(int exitCode)
|
||||
{
|
||||
//scriptProcessor.terminate();
|
||||
host.removeConnection(this);
|
||||
super.doDisconnect(exitCode);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handlePacket(Packet packet) {
|
||||
disconnect(INVALID_PACKET_RECIEVED, "Recieved invalid packet " + packet.getId() + " (Unknown)");
|
||||
disconnect(INVALID_PACKET_RECIEVED.id, "Recieved invalid packet " + packet.getId() + " (Unknown)");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handlePacket(Packet0Identify packet) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
enqueue(new Packet0Identify(0));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -42,13 +56,12 @@ public class ServerHandler extends NetworkHandler {
|
||||
|
||||
@Override
|
||||
public void handlePacket(Packet2Script packet) {
|
||||
ScriptProcessor scriptProcessor = new ScriptProcessor(this, properties);
|
||||
scriptProcessor.processAsync(packet.script);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handlePacket(Packet3Clone packet) {
|
||||
disconnect(INVALID_PACKET_RECIEVED, "Recieved invalid packet " + packet.getId() + " (Clone)");
|
||||
disconnect(INVALID_PACKET_RECIEVED.id, "Recieved invalid packet " + packet.getId() + " (Clone)");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -60,13 +73,13 @@ public class ServerHandler extends NetworkHandler {
|
||||
catch (IOException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
disconnect(FILE_DOWNLOAD_FAILURE, "Failed to download transferred file");
|
||||
disconnect(FILE_DOWNLOAD_FAILURE.id, "Failed to download transferred file");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handlePacket(Packet5Artifact packet) {
|
||||
disconnect(INVALID_PACKET_RECIEVED, "Recieved invalid packet " + packet.getId() + " (Artifact)");
|
||||
disconnect(INVALID_PACKET_RECIEVED.id, "Recieved invalid packet " + packet.getId() + " (Artifact)");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -75,8 +88,8 @@ public class ServerHandler extends NetworkHandler {
|
||||
|
||||
@Override
|
||||
public void handlePacket(Packet6Disconnect packet) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
System.out.printf("Disconnect %d: %s%n", packet.getCode(), packet.getReason());
|
||||
doDisconnect(packet.getCode());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user