Sziasztok
Elnézést mindenkitől. Elég kezdő vagyok.
Van egy házi feladatom és elakadtam.
Egy X0 játékot csinálok, meg is van.
De mivel hálózaton kell neki működni vannak gondjaim.
Létrehozom a main-ben a ServerSocket-et, és ki rakom egy szálba az accept -el.
kb így:
XO Felulet = new XO();
Felulet.setVisible(true);
ServerSocket ss=null;
try {
System.out.println("Létre hozom az ss -t");
ss=new ServerSocket(lPort);
System.out.println("Létre hozva az ss");
} catch (IOException ex) {
Logger.getLogger(XO.class.getName()).log(Level.SEVERE, null, ex);
}
try {
System.out.println("Következő sorban indul a szál");
new Szal(ss.accept()).start();
System.out.println("A szál elindult");
} catch (IOException ex) {
Logger.getLogger(XO.class.getName()).log(Level.SEVERE, null, ex);
}
A gondom az, hogy a kiemelt sor-tól ki akad.
A Szal az egy belső osztály (alosztály) így kezdődik:
static class Szal extends Thread implements Runnable {
}
Az osztály már nem hívódik meg. A konstruktorába a System.out.println() már nem hívódik meg, illetve a JFrame -emen sem látszik semmi.
Azt értem, hogy az accept blokkolva tartja egy kliens kapcsolatig a szálat, DE miért nem látszik semmi a Swing-ben ?
Olyan mintha a thread nem is indulna. Próbáltam azt is hogy nem adok át semmit a Szal konstruktorába és ott indítom el a ServerSocket accept-et.
De minden maradt ugyanúgy.
Ha ki kommentelem a kiemelt sort akkor tökéletesen látszik, és működik minden a JFrame -en.
Kérnék egy kis út mutatást.
Köszönöm