J
Javhvddfg
Gast
Ich versuche derzeit ein kleines Client/Server-Programm zu schreiben. Habe allerdings Probleme mit dem ObjectInput/ bzw. OutputStream.
Hier mein Programm
Server:
Das Programm läuft nur bis
, ab da geht es nicht mehr weiter und ich kann nichts empfangen.
Danke im Voraus
Hier mein Programm
Server:
Java:
package Server;
import java.awt.Toolkit;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
public class Test extends javax.swing.JFrame {
final int SCREENw = Toolkit.getDefaultToolkit().getScreenSize().width;
final int SCREENh = Toolkit.getDefaultToolkit().getScreenSize().height;
int formW;
int formH;
public Test() {
initComponents();
formW = getSize().width;
formH = getSize().height;
setLocation(SCREENw / 2 - formW / 2, SCREENh / 2 - formH / 2);
}
/*Netbeans generierter Code*/
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel");
} catch (Exception e) {
System.out.println(e);
}
new HackanonymServer().setVisible(true);
}
});
}
public class Server implements Runnable {
int port;
ServerSocket ss;
public Server(int port) {
this.port = port;
}
@Override
public void run() {
try {
ss = new ServerSocket(port);
jTextArea1.append("Server online...\n");
while (true) {
Socket s = ss.accept();
InputStream is = s.getInputStream();
OutputStream os = s.getOutputStream();
jTextArea1.append("Verbunden mit " + s.getInetAddress());
Thread t = new Thread(new ClientHandler(is, os));
t.start();
Thread.sleep(100);
jTextArea1.append("Thread gestartet");
}
} catch (Exception e) {
showErrorDialog(e, "Fehler in Server - run()");
}
}
}
public class ClientHandler implements Runnable {
InputStream is;
OutputStream os = null;
ObjectInputStream ois = null;
public ClientHandler(InputStream is, OutputStream os) {
this.is = is;
this.os = os;
}
@Override
public void run() {
try {
String input = "";
Object cache = null;
ois = new ObjectInputStream(is);
while((cache = ois.readObject()) != null) {
if(cache.toString().equals("login")) {
System.out.println("jnlkgjbnrg");
}
}
jTextArea1.append("dgkfjdbgesr");
} catch (Exception e) {
showErrorDialog(e, "Fehler in Server - run()");
}
}
}
}
Das Programm läuft nur bis
Java:
OutputStream os = null;
ObjectInputStream ois = null;
Danke im Voraus
Zuletzt bearbeitet von einem Moderator: