Question

Ok, je l'ai fait avec filetage Java avant, mais quelque chose que je pense, devrait être correct me donne cette erreur


package com.mdog.tcpserver;
import java.net.*;
import java.io.*;

public class ServerDriver {


     public static void main(String[] args) throws IOException {

         ServerSocket serverSocket = null;
         boolean listening = true;

         /* bind welcome socket to port */
         try {
             serverSocket = new ServerSocket(1313);
         } catch (IOException e) {
             System.err.println("Could not listen on port: 1313.");
             System.exit(1);
         }


         /* assign thread to each client */
         while(listening){
         new ServerWorker(serverSocket.accept()).start();
         }

         /* close the socket and quit */
         serverSocket.close();
         return;
 }
}





---------


package com.mdog.tcpserver;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

public class ServerWorker implements Runnable {

    private Socket socket = null;

 public ServerWorker(Socket s){
  super();
  this.socket = s;
 }



 public void run() {

         (stuff happens)

    } 
}



L'erreur est sur cette ligne "nouvelle ServerWorker (serverSocket.accept ()) start ();". et il dit ... « Le début de la méthode () n'est pas défini pour le type ServerWorker »

Était-ce utile?

La solution

new Thread(new ServerWorker(serverSocket.accept())).start()

http: //download.oracle.com/javase/1.4.2/docs/api/java/lang/Thread.html#start%28%29

Autres conseils

Désolé, je ne sais pas comment ajouter des commentaires aux commentaires. Mais

  

Démarrage nouveau thread dans un cycle while ??? Ce code va se planter dans une seconde, je suppose que

est erroné. accept (). nouveaux threads sont créés (ou seraient comme la bonne réponse des points déjà remis) pour chaque nouveau socket (aka connexion client). Il est faux de rien avec lancer de nouvelles discussions dans un while contre toute autre boucle tant qu'il est approprié dans ce cas il est.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top