Tạo Multithreaded Server trong Java



Miêu tả vấn đề

Cách tạo một Multithread Server trong Java?

Giải pháp

Ví dụ sau minh họa cách tạo một Multithread Server bởi sử dụng phương thức ssock.accept() của lớp Socket và phương thức MultiThreadServer(socketname) của lớp ServerSocket trong Java.

import java.io.IOException;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;public class MultiThreadServer implements Runnable {
   Socket csocket;
   MultiThreadServer(Socket csocket) {
      this.csocket = csocket;
   }   public static void main(String args[]) 
   throws Exception {
      ServerSocket ssock = new ServerSocket(1234);
      System.out.println("Listening");
      while (true) {
         Socket sock = ssock.accept();
         System.out.println("Connected");
         new Thread(new MultiThreadServer(sock)).start();
      }
   }
   public void run() {
      try {
         PrintStream pstream = new PrintStream
         (csocket.getOutputStream());
         for (int i = 100; i >= 0; i--) {
            pstream.println(i + 
            " bottles of beer on the wall");
         }
         pstream.close();
         csocket.close();
      }
      catch (IOException e) {
         System.out.println(e);
      }
   }
}

Kết quả

Code trên sẽ cho kết quả sau:

Listening
Connected

lap_trinh_mang_trong_java.jsp