network logging + client network timing work
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit
This commit is contained in:
parent
5c5ba32df7
commit
63ed9fc06d
@ -278,6 +278,7 @@ public class ClientNetworking implements Runnable {
|
||||
//attempt poll incoming messages
|
||||
long readStart = System.currentTimeMillis();
|
||||
try {
|
||||
LoggerInterface.loggerNetworking.DEBUG_LOOP("[CLIENT] Try to read messages in");
|
||||
parser.readMessagesIn();
|
||||
} catch (IOException e) {
|
||||
LoggerInterface.loggerNetworking.ERROR(e);
|
||||
@ -291,6 +292,7 @@ public class ClientNetworking implements Runnable {
|
||||
//
|
||||
//outgoing messages
|
||||
try {
|
||||
LoggerInterface.loggerNetworking.DEBUG_LOOP("[CLIENT] Try to write messages out");
|
||||
parser.pushMessagesOut();
|
||||
} catch(IOException e){
|
||||
LoggerInterface.loggerNetworking.ERROR(e);
|
||||
@ -301,6 +303,7 @@ public class ClientNetworking implements Runnable {
|
||||
|
||||
//
|
||||
//parses messages asynchronously
|
||||
LoggerInterface.loggerNetworking.DEBUG_LOOP("[CLIENT] Parse asynchronous messages");
|
||||
boolean foundMessages = this.parseMessagesAsynchronously();
|
||||
|
||||
|
||||
@ -333,6 +336,13 @@ public class ClientNetworking implements Runnable {
|
||||
//TODO: kick us back to the main menu
|
||||
break;
|
||||
}
|
||||
try {
|
||||
//sleep
|
||||
TimeUnit.MILLISECONDS.sleep(1);
|
||||
} catch (InterruptedException ex) {
|
||||
//silently ignore
|
||||
// CodeUtils.todo(ex, "Handle sleep interrupt on server connection");
|
||||
}
|
||||
}
|
||||
|
||||
if(this.socket != null){
|
||||
|
||||
@ -18,6 +18,7 @@ public class AuthProtocol implements ClientProtocolTemplate<AuthMessage> {
|
||||
case AUTHREQUEST: {
|
||||
//Try login
|
||||
Globals.clientState.clientConnection.queueOutgoingMessage(AuthMessage.constructAuthDetailsMessage(Globals.clientState.clientUsername,Globals.clientState.clientPassword));
|
||||
LoggerInterface.loggerNetworking.INFO("[CLIENT] Received auth request");
|
||||
} break;
|
||||
case AUTHSUCCESS: {
|
||||
//clean password hash from memory
|
||||
@ -27,11 +28,11 @@ public class AuthProtocol implements ClientProtocolTemplate<AuthMessage> {
|
||||
//request characters available to this player
|
||||
Globals.clientState.clientConnection.queueOutgoingMessage(CharacterMessage.constructRequestCharacterListMessage());
|
||||
//log that we succeeded
|
||||
LoggerInterface.loggerAuth.INFO("Successfully logged in");
|
||||
LoggerInterface.loggerNetworking.INFO("[CLIENT] Successfully logged in");
|
||||
} break;
|
||||
case AUTHFAILURE: {
|
||||
//TODO: handle better
|
||||
LoggerInterface.loggerAuth.ERROR("Auth failure",new Exception("Auth failure"));
|
||||
LoggerInterface.loggerNetworking.ERROR("Auth failure",new Exception("Auth failure"));
|
||||
} break;
|
||||
//ignore stack
|
||||
case AUTHDETAILS: {
|
||||
|
||||
@ -238,6 +238,7 @@ public class ServerConnectionHandler implements Runnable {
|
||||
//
|
||||
//parse messages both incoming and outgoing
|
||||
try {
|
||||
LoggerInterface.loggerNetworking.DEBUG_LOOP("[SERVER] Try to read messages in");
|
||||
receivedMessageThisLoop = this.parseMessages();
|
||||
} catch (SocketException e) {
|
||||
//if we get a SocketException broken pipe (basically the client dc'd without telling us)
|
||||
@ -320,6 +321,7 @@ public class ServerConnectionHandler implements Runnable {
|
||||
//Read in messages
|
||||
//
|
||||
//attempt poll incoming messages
|
||||
LoggerInterface.loggerNetworking.DEBUG_LOOP("[SERVER] Try to read messages in");
|
||||
networkParser.readMessagesIn();
|
||||
rVal = networkParser.hasIncomingMessaage();
|
||||
|
||||
@ -342,6 +344,7 @@ public class ServerConnectionHandler implements Runnable {
|
||||
//
|
||||
//ponder incoming messages
|
||||
while(networkParser.hasIncomingMessaage()){
|
||||
LoggerInterface.loggerNetworking.DEBUG_LOOP("[SERVER] Handle async messages");
|
||||
NetworkMessage message = networkParser.popIncomingMessage();
|
||||
this.messageProtocol.handleAsyncMessage(message);
|
||||
}
|
||||
@ -363,6 +366,7 @@ public class ServerConnectionHandler implements Runnable {
|
||||
//Send out messages
|
||||
//
|
||||
//push outgoing message
|
||||
LoggerInterface.loggerNetworking.DEBUG_LOOP("[SERVER] Try to write messages out");
|
||||
networkParser.pushMessagesOut();
|
||||
try {
|
||||
//sleep
|
||||
|
||||
@ -3,6 +3,7 @@ package electrosphere.net.server.protocol;
|
||||
import electrosphere.auth.AuthenticationManager;
|
||||
import electrosphere.engine.EngineState;
|
||||
import electrosphere.engine.Globals;
|
||||
import electrosphere.logger.LoggerInterface;
|
||||
import electrosphere.net.parser.net.message.AuthMessage;
|
||||
import electrosphere.net.parser.net.message.PlayerMessage;
|
||||
import electrosphere.net.server.ServerConnectionHandler;
|
||||
@ -17,7 +18,7 @@ public class AuthProtocol implements ServerProtocolTemplate<AuthMessage> {
|
||||
@Override
|
||||
public AuthMessage handleAsyncMessage(ServerConnectionHandler connectionHandler, AuthMessage message) {
|
||||
switch(message.getMessageSubtype()){
|
||||
case AUTHDETAILS:
|
||||
case AUTHDETAILS: {
|
||||
//auth check
|
||||
int loginId = Globals.authenticationManager.authenticate(message.getuser(), message.getpass());
|
||||
if(loginId != AuthenticationManager.INVALID_LOGIN){
|
||||
@ -33,16 +34,13 @@ public class AuthProtocol implements ServerProtocolTemplate<AuthMessage> {
|
||||
} else {
|
||||
connectionHandler.addMessagetoOutgoingQueue(AuthMessage.constructAuthFailureMessage());
|
||||
}
|
||||
break;
|
||||
LoggerInterface.loggerNetworking.INFO("[SERVER] Received auth details");
|
||||
} break;
|
||||
case AUTHREQUEST:
|
||||
//silently drop
|
||||
break;
|
||||
case AUTHSUCCESS:
|
||||
case AUTHFAILURE: {
|
||||
//silently drop
|
||||
break;
|
||||
case AUTHFAILURE:
|
||||
//silently drop
|
||||
break;
|
||||
} break;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user