Hallo,
ich soll ein Chat Programm programmieren, aus den beiden Programmen Client und Server, die ich schon programmiert habe. Die soll ich zu einem Chat Programm verbinden. Kann mir jemand helfen? Wie muss ich das machen? Wie sieht dann der Quellcode aus? VIelen Dank.
ich soll ein Chat Programm programmieren, aus den beiden Programmen Client und Server, die ich schon programmiert habe. Die soll ich zu einem Chat Programm verbinden. Kann mir jemand helfen? Wie muss ich das machen? Wie sieht dann der Quellcode aus? VIelen Dank.
Java:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.util.Scanner;
public class Client implements Runnable {
private String host = "192.168.178.9";
public Client(String host) {
if (host != null) {
this.host = host;
}
}
@Override
public void run() {
Socket s = null;
BufferedReader in = null;
BufferedWriter out = null;
try {
s = new Socket(host, 8888);
in = new BufferedReader(new InputStreamReader(s.getInputStream()));
out = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
Scanner console = new Scanner(System.in);
while (true) {
out.write(console.nextLine() + "\n");
out.flush();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (out != null) {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (s != null) {
try {
s.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
if (args.length == 0) {
new Thread(new Client(null)).start();
} else {
new Thread(new Client(args[0])).start();
}
}
}
Java:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Server implements Runnable {
@Override
public void run() {
ServerSocket ss = null;
Socket s = null;
BufferedReader in = null;
BufferedWriter out = null;
try {
ss = new ServerSocket(8888);
s = ss.accept();
in = new BufferedReader(new InputStreamReader(s.getInputStream()));
out = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
while (true) {
System.out.println(in.readLine());
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (out != null) {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (s != null) {
try {
s.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (ss != null) {
try {
ss.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
new Thread(new Server()).start();
}
}
Zuletzt bearbeitet von einem Moderator: