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

View file

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

View file

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