Updated and removed while loop in SocketServer

This commit is contained in:
Jesper Saastamoinen 2024-12-13 15:08:54 +01:00
parent 4b64684cb3
commit 0606c7af3b
3 changed files with 22 additions and 25 deletions

View file

@ -1,8 +1,6 @@
package com.jsaasta.froj.stdlib.socket;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.*;
import java.net.Socket;
class ClientHandler implements Runnable {
@ -26,7 +24,6 @@ class ClientHandler implements Runnable {
String message = new String(buffer, 0, bytesRead);
System.out.println("Received message from client: " + message);
out.write(message.getBytes());
SocketServer.messageQueue.put(message);

View file

@ -28,29 +28,26 @@ public class SocketServer implements FrojCallable {
final int PORT = param.intValue();
serverSocket = new ServerSocket(PORT);
while (true) {
Socket socket = serverSocket.accept();
System.out.println("Incoming connection from " + socket.getInetAddress());
ClientHandler clientHandler = new ClientHandler(socket);
clientHandler.run();
String nextMessage = getNextMessage();
if(nextMessage.toLowerCase().contentEquals("exit")){
shutdown();
break;
}
try{
return Double.parseDouble(nextMessage);
} catch (NumberFormatException e) {
return nextMessage;
}
Socket socket = serverSocket.accept();
System.out.println("Incoming connection from " + socket.getInetAddress());
ClientHandler clientHandler = new ClientHandler(socket);
clientHandler.run();
String nextMessage = getNextMessage();
if (nextMessage.toLowerCase().contentEquals("exit")) {
shutdown();
return EXIT_CODE;
}
return EXIT_CODE;
} catch (IOException e) {
throw new RuntimeException(e.getMessage());
} catch (InterruptedException e) {
throw new RuntimeException(e);
} finally{
try {
return Double.parseDouble(nextMessage);
} catch (NumberFormatException e) {
return nextMessage;
}
} catch (IOException | InterruptedException e) {
throw new StdlibRuntimeError(e.getMessage());
} finally {
shutdown();
}
}

View file

@ -12,6 +12,9 @@ class SocketClient {
BufferedReader reader = new BufferedReader(input);
String message = reader.readLine();
if(message.contentEquals("SHUTMEDOWN")){
break;
}
String response = sendMessage(message);
if (response != null) {
System.out.println("Received response from server: " + response);