javamulititalkserver.java

来自「这是一个用JAVA语言开发的一实现多任务服务器的使用」· Java 代码 · 共 67 行

JAVA
67
字号
import java.io.*;
import java.net.*;
//import ServerThread;
public class MulitiTalkServer
{
   public static void main(String args[]) throws IOException
   {
	 int clientnum=0;
      ServerSocket serversocket=null;
      boolean listening=true;
      try
      {
         serversocket=new ServerSocket(4700);
      }
      catch (IOException e)
      {
         System.out.println("Could not listen on port:4700.");
         System.exit(-1);
      }
      while (listening)
      {
         new ServerThread(serversocket.accept(),clientnum).start();
         clientnum++;
      }
      serversocket.close();
   }
}

class ServerThread extends Thread
{
	   Socket socket=null;
	   //static int clientnum;
	   int clientnum;
	   public ServerThread(Socket socket,int num)
	   {
		   this.socket=socket;
		   clientnum=num+1;
	}
	public void run()
	{
		try
		{
			String line;
           BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
           PrintWriter os=new PrintWriter(socket.getOutputStream());
           BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
           System.out.println("client"+clientnum+":"+is.readLine());
           line=sin.readLine();
           while (!line.equals("bye"))
           {
			   os.println(line);
			   os.flush();
			   System.out.println("server:"+line);
			   System.out.println("client:"+clientnum+":"+is.readLine());
			   line=sin.readLine();
		   }
           os.close();
           is.close();
           socket.close();
	   }
	   catch (Exception e)
	   {
		   System.out.println("Error:"+e);
	   }
   }
}

⌨️ 快捷键说明

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