Updated the project structure
This commit is contained in:
8
.idea/artifacts/Client_jar.xml
generated
Normal file
8
.idea/artifacts/Client_jar.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<component name="ArtifactManager">
|
||||
<artifact type="jar" name="Client:jar">
|
||||
<output-path>$PROJECT_DIR$/out/artifacts/Client_jar</output-path>
|
||||
<root id="archive" name="ArcadeMachine.jar">
|
||||
<element id="module-output" name="ArcadeMachine" />
|
||||
</root>
|
||||
</artifact>
|
||||
</component>
|
||||
2
.idea/modules.xml
generated
2
.idea/modules.xml
generated
@@ -3,6 +3,8 @@
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/ArcadeMachine.iml" filepath="$PROJECT_DIR$/ArcadeMachine.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/Client/Client.iml" filepath="$PROJECT_DIR$/Client/Client.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/Server/Server.iml" filepath="$PROJECT_DIR$/Server/Server.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
11
Client/Client.iml
Normal file
11
Client/Client.iml
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -1,4 +1,4 @@
|
||||
package client.games;
|
||||
package games;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package client.games;
|
||||
package games;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package client.games;
|
||||
package games;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package client.games;
|
||||
package games;
|
||||
|
||||
import java.awt.*;
|
||||
|
||||
47
Client/src/logging/ClientLogger.java
Normal file
47
Client/src/logging/ClientLogger.java
Normal file
@@ -0,0 +1,47 @@
|
||||
package logging;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
|
||||
public class ClientLogger {
|
||||
|
||||
//Text colors
|
||||
private static final String ANSI_RESET = "\u001B[0m";
|
||||
private static final String ANSI_BLACK = "\u001B[30m";
|
||||
private static final String ANSI_RED = "\u001B[31m";
|
||||
private static final String ANSI_GREEN = "\u001B[32m";
|
||||
private static final String ANSI_YELLOW = "\u001B[33m";
|
||||
private static final String ANSI_BLUE = "\u001B[34m";
|
||||
private static final String ANSI_PURPLE = "\u001B[35m";
|
||||
private static final String ANSI_CYAN = "\u001B[36m";
|
||||
private static final String ANSI_WHITE = "\u001B[37m";
|
||||
private static final String ANSI_BRIGHT_WHITE = "\u001b[37;1m";
|
||||
|
||||
public void printLog(String message, String name, boolean success, LogType logType){
|
||||
switch (logType){
|
||||
case Log:
|
||||
if (success){
|
||||
System.out.printf( ANSI_BLUE + "(%s) " + ANSI_CYAN + "[%s] " + ANSI_GREEN + "%s%n" + ANSI_RESET,
|
||||
new Timestamp(System.currentTimeMillis()), name, message);
|
||||
} else {
|
||||
System.out.printf(ANSI_BLUE + "(%s) " + ANSI_CYAN + "[%s] " + ANSI_RED + "%s%n" + ANSI_RESET,
|
||||
new Timestamp(System.currentTimeMillis()), name, message);
|
||||
}
|
||||
break;
|
||||
|
||||
case Error:
|
||||
System.out.printf(ANSI_PURPLE + "(%s) [%s] %s%n"+ ANSI_RESET, new Timestamp(System.currentTimeMillis()), name, message);
|
||||
break;
|
||||
|
||||
case Message:
|
||||
System.out.printf(ANSI_WHITE + " (%s) [%s] %s%n" +ANSI_RESET, new Timestamp(System.currentTimeMillis()), name, message);
|
||||
break;
|
||||
|
||||
default:
|
||||
System.err.println("NO VALID LOGTYPE GIVEN");;
|
||||
}
|
||||
}
|
||||
|
||||
public void printLog(String message, boolean success, LogType logType){
|
||||
this.printLog(message, "server", success, logType);
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package server.logging;
|
||||
package logging;
|
||||
|
||||
public enum LogType {
|
||||
Log,
|
||||
@@ -1,4 +1,7 @@
|
||||
package client.networking;
|
||||
package networking;
|
||||
|
||||
import logging.ClientLogger;
|
||||
import logging.LogType;
|
||||
|
||||
import java.io.DataInputStream;
|
||||
import java.io.DataOutputStream;
|
||||
@@ -10,7 +13,9 @@ public class Client {
|
||||
private DataOutputStream out;
|
||||
private DataInputStream in;
|
||||
private static Scanner scanner;
|
||||
private ClientLogger clientLogger;
|
||||
private static String name;
|
||||
private String serverName;
|
||||
private boolean success;
|
||||
|
||||
public static final String ANSI_RESET = "\u001B[0m";
|
||||
@@ -23,9 +28,10 @@ public class Client {
|
||||
Socket serverSocket = new Socket(ip, port);
|
||||
out = new DataOutputStream(serverSocket.getOutputStream());
|
||||
in = new DataInputStream(serverSocket.getInputStream());
|
||||
clientLogger = new ClientLogger();
|
||||
success = true;
|
||||
this.name = name;
|
||||
System.out.println(name);
|
||||
clientLogger.printLog(String.format("Client with the name %s successfully initialized", name), success, LogType.Log);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@@ -33,14 +39,18 @@ public class Client {
|
||||
|
||||
public void handshake() {
|
||||
try {
|
||||
out.writeInt(165313125);
|
||||
out.writeInt(15315);
|
||||
out.flush();
|
||||
success = in.readInt() == 200;
|
||||
if (success){
|
||||
out.writeUTF(name);
|
||||
System.out.printf(ANSI_CYAN + "You successfully connected to %s%n"+ANSI_RESET, in.readUTF());
|
||||
serverName = in.readUTF();
|
||||
System.out.println(serverName);
|
||||
clientLogger.printLog("You successfully connected to me", serverName, success, LogType.Log);
|
||||
} else {
|
||||
clientLogger.printLog("Connection failed try again", success, LogType.Log);
|
||||
System.exit(1);
|
||||
}
|
||||
System.out.println(success);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
11
Server/Server.iml
Normal file
11
Server/Server.iml
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
7
Server/src/logging/LogType.java
Normal file
7
Server/src/logging/LogType.java
Normal file
@@ -0,0 +1,7 @@
|
||||
package logging;
|
||||
|
||||
public enum LogType {
|
||||
Log,
|
||||
Message,
|
||||
Error
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package server.logging;
|
||||
package logging;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package server.networking;
|
||||
package networking;
|
||||
|
||||
import server.logging.LogType;
|
||||
import server.logging.ServerLogger;
|
||||
import logging.LogType;
|
||||
import logging.ServerLogger;
|
||||
|
||||
import java.io.*;
|
||||
import java.net.ServerSocket;
|
||||
@@ -28,7 +28,7 @@ public class Server {
|
||||
instreams = new HashMap<>();
|
||||
scanner = new Scanner(System.in);
|
||||
logger = new ServerLogger();
|
||||
requiredConnections = 2;
|
||||
requiredConnections = 1;
|
||||
|
||||
logger.printLog("Server started successfully", LogType.Log);
|
||||
} catch (IOException e) {
|
||||
@@ -97,6 +97,11 @@ public class Server {
|
||||
}
|
||||
}
|
||||
}
|
||||
clients.clear();
|
||||
System.out.println("Do you want to keep the server alive and wait for other clients ? [y]/[n]");
|
||||
if (scanner.nextLine().equalsIgnoreCase("y")){
|
||||
this.connectClients();
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
3
out/production/ArcadeMachine/META-INF/MANIFEST.MF
Normal file
3
out/production/ArcadeMachine/META-INF/MANIFEST.MF
Normal file
@@ -0,0 +1,3 @@
|
||||
Manifest-Version: 1.0
|
||||
Main-Class: client.networking.Client
|
||||
|
||||
Reference in New Issue
Block a user