multithreadserver.java

来自「java课件 java课件 java课件 java课件」· Java 代码 · 共 53 行

JAVA
53
字号
import java.io.*;
import java.net.*;

public class MultiThreadServer{
  public static void  main(String[]args){
    try{
      ServerSocket serverSocket = new ServerSocket(8000);
      int clientNo=1;  
      while(true){
        Socket connectToClient = serverSocket.accept();
        System.out.println("Start thread for client "+clientNo);
        InetAddress clientInetAddress = 
connectToClient.getInetAddress();
        System.out.println("Client "+clientNo+" 's host name is "
                          +clientInetAddress.getHostName());
        System.out.println("Client "+clientNo+" 's IP address is "
                          +clientInetAddress.getHostAddress());
        HandleClient thread = new HandleClient(connectToClient);
        thread.start();
        clientNo++;
      }
     }catch(IOException ex){
     	System.err.println(ex);
     } 
   }
 }
 
 class HandleClient extends Thread{
 	private Socket connectToClient;
 	public HandleClient(Socket socket){
 	   connectToClient = socket;	
 	}
 	
 	public void run(){
 	  try{
 	    DataInputStream isFromClient = new DataInputStream(
      	  connectToClient.getInputStream());
      DataOutputStream osToClient = new DataOutputStream(
      	  connectToClient.getOutputStream());
      while(true){
         double radius = isFromClient.readDouble();
         System.out.println("radius received from client:"+radius);
         double area = radius*radius*Math.PI;
         osToClient.writeDouble(area);
         osToClient.flush();
         System.out.println("Area is:"+area);
      } 
 	  }catch(IOException ex){
 	  	System.err.println(ex);
 	  }	
 	}
 }    

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?