Child pages
  • Swing , ServerSocket, Thread

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Sziasztok ,

Elnézést mindenkitől. Elég kezdő vagyok.Van  Van egy házi feladatom és elakadtam.Egy  Egy X0 játékot csinálok, meg is van.De  De mivel hálózaton kell neki működni vannak gondjaim.Létrehozom  Létrehozom a main-ben a ServerSocket-et, és ki rakom egy szálba az accept -el.

kb így:

Code Block
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();

...

 // <-- itt
    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  A Szal az egy belső osztály (alosztály) így kezdődik:

Code Block
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  Azt értem, hogy az accept blokkolva tartja egy kliens kapcsolatig a szálat, DE miért nem látszik semmi a Swing-ben ?Olyan  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  De minden maradt ugyanúgy.Ha  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