praktikum-5/aufgabe-4
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
|||||||
.jdtls
|
.jdtls
|
||||||
build
|
build
|
||||||
result
|
result
|
||||||
|
.direnv
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
<javac srcdir="${src.dir}" destdir="${classes.dir}"
|
<javac srcdir="${src.dir}" destdir="${classes.dir}"
|
||||||
includeantruntime="false" debug="true">
|
includeantruntime="false" debug="true">
|
||||||
<compilerarg value="-Xlint:unchecked"/>
|
<compilerarg value="-Xlint:unchecked"/>
|
||||||
|
<exclude name="**/.direnv/**"/>
|
||||||
</javac>
|
</javac>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
|
|||||||
53
praktikum-5/aufgabe4/Client.java
Normal file
53
praktikum-5/aufgabe4/Client.java
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
package praktikum5.aufgabe4;
|
||||||
|
|
||||||
|
import java.net.Socket;
|
||||||
|
import java.net.UnknownHostException;
|
||||||
|
import java.util.Scanner;
|
||||||
|
import java.io.OutputStreamWriter;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
|
||||||
|
public class Client {
|
||||||
|
private int port;
|
||||||
|
|
||||||
|
public Client(int port) {
|
||||||
|
this.port = port;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String send(String msg) throws IOException {
|
||||||
|
var socket = new Socket("localhost", port);
|
||||||
|
var out = socket.getOutputStream();
|
||||||
|
var in = socket.getInputStream();
|
||||||
|
var reader = new InputStreamReader(in);
|
||||||
|
var writer = new OutputStreamWriter(out);
|
||||||
|
|
||||||
|
writer.write(msg);
|
||||||
|
writer.flush();
|
||||||
|
socket.shutdownOutput();
|
||||||
|
|
||||||
|
var response = "";
|
||||||
|
var curr = reader.read();
|
||||||
|
while (curr != -1) {
|
||||||
|
response += (char)curr;
|
||||||
|
curr = reader.read();
|
||||||
|
}
|
||||||
|
reader.close();
|
||||||
|
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
try {
|
||||||
|
int port = 4711;
|
||||||
|
var client = new Client(port);
|
||||||
|
var reader = new Scanner(System.in);
|
||||||
|
while (true) {
|
||||||
|
var msg = reader.nextLine();
|
||||||
|
var response = client.send(msg);
|
||||||
|
System.out.println("Response: " + response);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
51
praktikum-5/aufgabe4/Server.java
Normal file
51
praktikum-5/aufgabe4/Server.java
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
package praktikum5.aufgabe4;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.io.OutputStreamWriter;
|
||||||
|
import java.net.ServerSocket;
|
||||||
|
import java.net.Socket;
|
||||||
|
|
||||||
|
public class Server {
|
||||||
|
private ServerSocket socket;
|
||||||
|
|
||||||
|
public Server(ServerSocket socket) {
|
||||||
|
this.socket = socket;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String echo() throws IOException {
|
||||||
|
var clientSocket = socket.accept();
|
||||||
|
var in = clientSocket.getInputStream();
|
||||||
|
var out = clientSocket.getOutputStream();
|
||||||
|
var reader = new InputStreamReader(in);
|
||||||
|
var writer = new OutputStreamWriter(out);
|
||||||
|
|
||||||
|
var msg = "";
|
||||||
|
var curr = reader.read();
|
||||||
|
while (curr != -1) {
|
||||||
|
msg += (char)curr;
|
||||||
|
curr = reader.read();
|
||||||
|
}
|
||||||
|
|
||||||
|
writer.write(msg);
|
||||||
|
writer.flush();
|
||||||
|
writer.close();
|
||||||
|
|
||||||
|
return msg;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
try {
|
||||||
|
int port = 4711;
|
||||||
|
var socket = new ServerSocket(port);
|
||||||
|
var server = new Server(socket);
|
||||||
|
System.out.println("Listening on port " + port);
|
||||||
|
while (true) {
|
||||||
|
var msg = server.echo();
|
||||||
|
System.out.println("Request: " + msg);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user