A
Antibus
Gast
hallo,
ich wollte ma wieder seit langem nen bischen java proggen. Hier ma der Code
Clien.java
Server.java
Im Grunde ist es ziemlich simpel. Der Client startet den Server und wartet dann auf eine Eingabe. Diese Eingabe schickt der dann zum Server. Der Server schickt dann diesen Text zurück und der Client gibt es dann wieder aus.
So sollte es theoretisch funktionieren. Aber leider funktioniert es nicht ganz. Der Server bekommt die Nachricht gar nicht.
Könnt ihr mir sagen, wo mein Fehler ist??
mfg Antibus
ich wollte ma wieder seit langem nen bischen java proggen. Hier ma der Code
Clien.java
Code:
package myfristSocketpckg;
import java.io.BufferedReader;
//import java.io.DataInputStream;
//import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;
public class Client {
/**
* @param args
*/
public static void main(String[] args) {
Socket client = null;
//DataInputStream in = null;
BufferedReader inputline = null;
PrintWriter out = null;
Scanner scanner = new Scanner(System.in); // java.util.Scanner
boolean ok = true;
String line;
Server server = new Server();
server.start();
System.out.println("... Client started");
try {
client = new Socket("localhost",130);
//in = new DataInputStream(client.getInputStream());
inputline = new BufferedReader(new InputStreamReader(client.getInputStream()));
//out = new DataOutputStream(client.getOutputStream());
out = new PrintWriter(client.getOutputStream(), true);
} catch (Exception e) {
System.out.println("Connection faild");
System.out.println(e);
ok = false;
}
while (ok){
System.out.print("Client : ");
line = scanner.nextLine();
if (line.equals("exit") | line.equals("Exit")) ok = false;
try {
out.write(line);
System.out.println(inputline.readLine());
} catch (Exception e) {
System.out.print(e);
ok = false;
}
}
try {
client.close();
server.start();
inputline.close();
out.close();
} catch (Exception e) {
System.out.print(e);
}
}
}
Server.java
Code:
package myfristSocketpckg;
import java.io.BufferedReader;
//import java.io.DataInputStream;
//import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Server extends Thread{
/**
* @param args
*/
public void run() {
ServerSocket server = null;
Socket client = null;
//DataInputStream in = null;
BufferedReader inputline = null;
PrintWriter out = null;
boolean ok = true;
String line;
System.out.println("... Server started");
try {
server = new ServerSocket(130);
client = server.accept();
//in = new DataInputStream(client.getInputStream());
inputline = new BufferedReader(new InputStreamReader(client.getInputStream()));
//out = new DataOutputStream(client.getOutputStream());
out = new PrintWriter(client.getOutputStream(), true);
out.flush();
} catch (Exception e) {
System.out.print("Acception faild");
System.out.println(e);
ok = false;
}
while (ok){
try {
line = "Server : " + inputline.readLine();
out.write(line);
} catch (Exception e) {
System.out.print(e);
ok = false;
}
}
try {
client.close();
server.close();
inputline.close();
out.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
Im Grunde ist es ziemlich simpel. Der Client startet den Server und wartet dann auf eine Eingabe. Diese Eingabe schickt der dann zum Server. Der Server schickt dann diesen Text zurück und der Client gibt es dann wieder aus.
So sollte es theoretisch funktionieren. Aber leider funktioniert es nicht ganz. Der Server bekommt die Nachricht gar nicht.
Könnt ihr mir sagen, wo mein Fehler ist??
mfg Antibus