SortClientServer
This commit is contained in:
parent
7feec0d3cd
commit
6114fcb1ab
54
src/praktikum04/SorterClient.java
Normal file
54
src/praktikum04/SorterClient.java
Normal file
@ -0,0 +1,54 @@
|
||||
package praktikum04;
|
||||
|
||||
|
||||
import javax.sound.sampled.Port;
|
||||
import java.io.*;
|
||||
import java.net.*;
|
||||
import java.util.Scanner;
|
||||
|
||||
public class SorterClient {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SorterClient client = new SorterClient();
|
||||
client.run();
|
||||
}
|
||||
|
||||
private void run() {
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
while (scanner.hasNextLine()) {
|
||||
String line = scanner.nextLine();
|
||||
if (line.isEmpty())
|
||||
break;
|
||||
line = sort(line);
|
||||
System.out.println(line);
|
||||
}
|
||||
scanner.close();
|
||||
}
|
||||
|
||||
private String sort(String line) {
|
||||
InetSocketAddress address =
|
||||
new InetSocketAddress("localhost", 12345);
|
||||
try (Socket socket = new Socket()) {
|
||||
socket.connect(address);
|
||||
sendLine(socket, line);
|
||||
String answer = receiveLine(socket);
|
||||
return answer;
|
||||
} catch (Exception e) {
|
||||
System.err.println("Error: " + e.getMessage());
|
||||
}
|
||||
return "*";
|
||||
}
|
||||
|
||||
public static void sendLine(Socket socket, String line) throws IOException {
|
||||
OutputStream out = socket.getOutputStream();
|
||||
PrintWriter writer = new PrintWriter(out);
|
||||
writer.println(line);
|
||||
writer.flush();
|
||||
}
|
||||
|
||||
public static String receiveLine(Socket socket) throws IOException {
|
||||
InputStream in = socket.getInputStream();
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
|
||||
return reader.readLine();
|
||||
}
|
||||
}
|
60
src/praktikum04/SorterServer.java
Normal file
60
src/praktikum04/SorterServer.java
Normal file
@ -0,0 +1,60 @@
|
||||
package praktikum04;
|
||||
|
||||
import java.io.*;
|
||||
import java.net.*;
|
||||
import java.util.Arrays;
|
||||
|
||||
public class SorterServer implements Runnable {
|
||||
public static void main(String[] args) {
|
||||
|
||||
final int port = 12345;
|
||||
try (ServerSocket socket = new ServerSocket(port)) {
|
||||
while (true) {
|
||||
Socket client = socket.accept();
|
||||
Thread thread = new Thread(new SorterServer(client));
|
||||
thread.start();
|
||||
}
|
||||
}
|
||||
catch (Exception e) {
|
||||
System.err.println("Error: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
Socket client;
|
||||
|
||||
private SorterServer(Socket client) {
|
||||
this.client = client;
|
||||
}
|
||||
|
||||
public void run() {
|
||||
try {
|
||||
String line = receiveLine(client);
|
||||
char[] chars = line.toCharArray();
|
||||
Arrays.sort(chars);
|
||||
String answer = new String(chars);
|
||||
sendLine(client, answer);
|
||||
System.out.println(line + " -> " + answer);
|
||||
}
|
||||
catch (Exception e) {
|
||||
System.err.println("Error: " + e.getMessage());
|
||||
}
|
||||
finally {
|
||||
try { client.close(); } catch (Exception e) {}
|
||||
}
|
||||
}
|
||||
|
||||
public static void sendLine(Socket socket, String line) throws IOException {
|
||||
OutputStream out = socket.getOutputStream();
|
||||
PrintWriter writer = new PrintWriter(out);
|
||||
writer.println(line);
|
||||
writer.flush();
|
||||
}
|
||||
|
||||
public static String receiveLine(Socket socket) throws IOException {
|
||||
InputStream in = socket.getInputStream();
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
|
||||
return reader.readLine();
|
||||
}
|
||||
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user