Add: Network structure, View structure

This commit is contained in:
rubenpirreram
2026-04-17 15:18:08 +02:00
parent 1691d5a5c2
commit b667a87364
4 changed files with 122 additions and 0 deletions
@@ -0,0 +1,38 @@
package it.polimi.ingsw.gc14.Network.Client;
import it.polimi.ingsw.gc14.View.IView;
import java.io.*;
import java.net.*;
public class TCPClient {
public TCPClient(IView view) {
IView iView = view;
}
public static void main(String[] args) {
String hostName = "127.0.0.1";
int portNumber = 5200;
Socket communicationSocket = null;
try {
communicationSocket = new Socket(hostName, portNumber);
}
catch (IOException e) {
System.err.println(e.toString() + " " + hostName);
System.exit(1);
}
PrintWriter out = null;
BufferedReader in = null;
try {
out = new PrintWriter(communicationSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(communicationSocket.getInputStream()));
} catch (IOException e) {
System.err.println(e.toString() + " " + hostName);
System.exit(1);
}
String userInput = "";
while (true) {
}
}
}
@@ -0,0 +1,45 @@
package it.polimi.ingsw.gc14.Network.Server;
import java.io.*;
import java.net.*;
import java.util.List;
public class ClientHandler implements Runnable {
private Socket clientSocket;
BufferedReader in = null;
PrintWriter out = null;
List<ClientHandler> clientHandlers ;
public ClientHandler(Socket clientSocket, List<ClientHandler> clientHandlers) {
this.clientSocket = clientSocket;
this.clientHandlers = clientHandlers;
}
@Override
public void run() {
clientLoop();
}
private void clientLoop() {
try {
in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
synchronized (out) {
out = new PrintWriter(clientSocket.getOutputStream(), true);
}
} catch (IOException e) {
e.printStackTrace();
}
String s = "";
try {
while ((s = in.readLine()) != null) {
System.out.println(s);
out.println(s.toUpperCase());
}
} catch (IOException e) {
e.printStackTrace();
}
}
private void notifyEvent(Object event) {
synchronized (out) {
out.println(event.toString());
}
}
}
@@ -0,0 +1,35 @@
package it.polimi.ingsw.gc14.Network.Server;
import java.io.IOException;
import java.net.*;
import java.util.ArrayList;
import java.util.List;
public class TCPServer {
private List<ClientHandler> clientHandlers ;
public void start(String args[]) {
clientHandlers = new ArrayList<>();
ServerSocket serverTCP=null ;
try{
serverTCP=new ServerSocket(5200);
}catch (IOException e){
System.out.println("Could not listen on port: 5200");
e.printStackTrace();
return ;
}
System.out.println("Listening on port 5200" );
while (true) {
Socket clientSocket = null;
try {
clientSocket = serverTCP.accept();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Accepted");
ClientHandler clientHandler = new ClientHandler(clientSocket,clientHandlers);
clientHandlers.add(clientHandler);
Thread t = new Thread(clientHandler);
t.start();
}
}
}