mirror of
https://github.com/michaelrausch/Party-Parrots-At-Sea.git
synced 2026-05-09 14:28:43 +00:00
Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
@@ -119,7 +119,6 @@ public class ClientPacketParser {
|
|||||||
*/
|
*/
|
||||||
private static void extractHeartBeat(StreamPacket packet) {
|
private static void extractHeartBeat(StreamPacket packet) {
|
||||||
long heartbeat = bytesToLong(packet.getPayload());
|
long heartbeat = bytesToLong(packet.getPayload());
|
||||||
System.out.println("[CLIENT] Received heartbeat = " + heartbeat);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String getTimeZoneString() {
|
private static String getTimeZoneString() {
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import java.io.InputStream;
|
|||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.net.Socket;
|
import java.net.Socket;
|
||||||
import java.net.UnknownHostException;
|
import java.net.UnknownHostException;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.zip.CRC32;
|
import java.util.zip.CRC32;
|
||||||
import java.util.zip.Checksum;
|
import java.util.zip.Checksum;
|
||||||
|
|
||||||
@@ -42,7 +43,7 @@ public class ClientToServerThread implements Runnable {
|
|||||||
clientLog("Successful handshake. Allocated ID: " + ourID, 1);
|
clientLog("Successful handshake. Allocated ID: " + ourID, 1);
|
||||||
ClientState.setClientSourceId(String.valueOf(ourID));
|
ClientState.setClientSourceId(String.valueOf(ourID));
|
||||||
} else {
|
} else {
|
||||||
clientLog("Unsuccessful handhsake", 1);
|
clientLog("Unsuccessful handshake", 1);
|
||||||
closeSocket();
|
closeSocket();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -54,7 +55,7 @@ public class ClientToServerThread implements Runnable {
|
|||||||
|
|
||||||
static void clientLog(String message, int logLevel){
|
static void clientLog(String message, int logLevel){
|
||||||
if(logLevel <= LOG_LEVEL){
|
if(logLevel <= LOG_LEVEL){
|
||||||
System.out.println("[CLIENT] " + message);
|
System.out.println("[CLIENT " + LocalDateTime.now().toLocalTime().toString() + "] " + message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -105,7 +106,7 @@ public class ClientToServerThread implements Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
closeSocket();
|
closeSocket();
|
||||||
System.out.println("[CLIENT] Disconnected from server");
|
clientLog("Disconnected from server", 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ public class Controller implements Initializable {
|
|||||||
@FXML
|
@FXML
|
||||||
private AnchorPane contentPane;
|
private AnchorPane contentPane;
|
||||||
private ClientToServerThread clientToServerThread;
|
private ClientToServerThread clientToServerThread;
|
||||||
|
private long lastSendingTime;
|
||||||
|
private int KEY_STROKE_SENDING_FREQUENCY = 50;
|
||||||
|
|
||||||
private Object setContentPane(String jfxUrl) {
|
private Object setContentPane(String jfxUrl) {
|
||||||
try {
|
try {
|
||||||
@@ -43,12 +45,17 @@ public class Controller implements Initializable {
|
|||||||
StartScreenController startScreenController = (StartScreenController) setContentPane("/views/StartScreenView.fxml");
|
StartScreenController startScreenController = (StartScreenController) setContentPane("/views/StartScreenView.fxml");
|
||||||
startScreenController.setController(this);
|
startScreenController.setController(this);
|
||||||
ClientPacketParser.boatLocations.clear();
|
ClientPacketParser.boatLocations.clear();
|
||||||
|
|
||||||
|
lastSendingTime = System.currentTimeMillis();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Handle the key-pressed event from the text field. */
|
/** Handle the key-pressed event from the text field. */
|
||||||
public void keyPressed(KeyEvent e) {
|
public void keyPressed(KeyEvent e) {
|
||||||
BoatActionMessage boatActionMessage;
|
BoatActionMessage boatActionMessage;
|
||||||
switch (e.getCode()){
|
long currentTime = System.currentTimeMillis();
|
||||||
|
if (currentTime - lastSendingTime > KEY_STROKE_SENDING_FREQUENCY) {
|
||||||
|
lastSendingTime = currentTime;
|
||||||
|
switch (e.getCode()) {
|
||||||
case SPACE: // align with vmg
|
case SPACE: // align with vmg
|
||||||
boatActionMessage = new BoatActionMessage(BoatActionType.VMG);
|
boatActionMessage = new BoatActionMessage(BoatActionType.VMG);
|
||||||
clientToServerThread.sendBoatActionMessage(boatActionMessage);
|
clientToServerThread.sendBoatActionMessage(boatActionMessage);
|
||||||
@@ -74,6 +81,7 @@ public class Controller implements Initializable {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void keyReleased(KeyEvent e) {
|
public void keyReleased(KeyEvent e) {
|
||||||
switch (e.getCode()) {
|
switch (e.getCode()) {
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package seng302.gameServer;
|
package seng302.gameServer;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.Observable;
|
import java.util.Observable;
|
||||||
import seng302.client.ClientPacketParser;
|
import seng302.client.ClientPacketParser;
|
||||||
import seng302.models.Player;
|
import seng302.models.Player;
|
||||||
@@ -108,7 +109,7 @@ public class MainServerThread extends Observable implements Runnable, PacketBuff
|
|||||||
|
|
||||||
static void serverLog(String message, int logLevel){
|
static void serverLog(String message, int logLevel){
|
||||||
if(logLevel <= LOG_LEVEL){
|
if(logLevel <= LOG_LEVEL){
|
||||||
System.out.println("[SERVER] " + message);
|
System.out.println("[SERVER " + LocalDateTime.now().toLocalTime().toString() + "] " + message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ import java.io.IOException;
|
|||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.net.Socket;
|
import java.net.Socket;
|
||||||
|
import java.net.SocketException;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Observable;
|
import java.util.Observable;
|
||||||
@@ -97,7 +99,7 @@ public class ServerToClientThread implements Runnable, Observer {
|
|||||||
|
|
||||||
static void serverLog(String message, int logLevel){
|
static void serverLog(String message, int logLevel){
|
||||||
if(logLevel <= LOG_LEVEL){
|
if(logLevel <= LOG_LEVEL){
|
||||||
System.out.println("[SERVER] " + message);
|
System.out.println("[SERVER " + LocalDateTime.now().toLocalTime().toString() + "] " + message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -234,8 +236,8 @@ public class ServerToClientThread implements Runnable, Observer {
|
|||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// TODO: 24/07/17 zyt10 - fix a logic here when a client disconnected
|
// TODO: 24/07/17 zyt10 - fix a logic here when a client disconnected
|
||||||
serverLog("ERROR OCCURRED, CLOSING SERVER CONNECTION: " + socket.getRemoteSocketAddress().toString(), 1);
|
// serverLog("ERROR OCCURRED, CLOSING SERVER CONNECTION: " + socket.getRemoteSocketAddress().toString(), 1);
|
||||||
e.printStackTrace();
|
// e.printStackTrace();
|
||||||
closeSocket();
|
closeSocket();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -346,6 +348,8 @@ public class ServerToClientThread implements Runnable, Observer {
|
|||||||
public void sendMessage(Message message){
|
public void sendMessage(Message message){
|
||||||
try {
|
try {
|
||||||
os.write(message.getBuffer());
|
os.write(message.getBuffer());
|
||||||
|
} catch (SocketException e) {
|
||||||
|
serverLog("Player " + sourceId + " " + e.getMessage(), 0);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user