Updated and removed while loop in SocketServer
This commit is contained in:
parent
4b64684cb3
commit
0606c7af3b
3 changed files with 22 additions and 25 deletions
|
@ -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);
|
||||||
|
|
|
@ -28,29 +28,26 @@ 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();
|
|
||||||
System.out.println("Incoming connection from " + socket.getInetAddress());
|
|
||||||
|
|
||||||
ClientHandler clientHandler = new ClientHandler(socket);
|
Socket socket = serverSocket.accept();
|
||||||
clientHandler.run();
|
System.out.println("Incoming connection from " + socket.getInetAddress());
|
||||||
String nextMessage = getNextMessage();
|
|
||||||
if(nextMessage.toLowerCase().contentEquals("exit")){
|
ClientHandler clientHandler = new ClientHandler(socket);
|
||||||
shutdown();
|
clientHandler.run();
|
||||||
break;
|
String nextMessage = getNextMessage();
|
||||||
}
|
if (nextMessage.toLowerCase().contentEquals("exit")) {
|
||||||
try{
|
shutdown();
|
||||||
return Double.parseDouble(nextMessage);
|
return EXIT_CODE;
|
||||||
} catch (NumberFormatException e) {
|
|
||||||
return nextMessage;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return EXIT_CODE;
|
try {
|
||||||
} catch (IOException e) {
|
return Double.parseDouble(nextMessage);
|
||||||
throw new RuntimeException(e.getMessage());
|
} catch (NumberFormatException e) {
|
||||||
} catch (InterruptedException e) {
|
return nextMessage;
|
||||||
throw new RuntimeException(e);
|
}
|
||||||
} finally{
|
|
||||||
|
} catch (IOException | InterruptedException e) {
|
||||||
|
throw new StdlibRuntimeError(e.getMessage());
|
||||||
|
} finally {
|
||||||
shutdown();
|
shutdown();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
|
|
Loading…
Reference in a new issue