multisocketserver.java

来自「java课件及例程有一些PPT及一些例程」· Java 代码 · 共 58 行

JAVA
58
字号
import java.io.*;
import java.net.*;
import java.util.*;
public class MultiSocketServer{
    public static void main(String[] args){
        ServerSocket ss = null;
        int sumClient = 1;
        try{
            ss = new ServerSocket(3000);	
            
        }catch(Exception e){
            System.out.println("不能监听到请求:"+e.toString());
        }
        try{
            while(true){
               new ServerThread(ss.accept(),sumClient).start(); 
               sumClient++;
            }
            
        //ss.close();    
        }catch(Exception e){
            System.out.println("Exception:"+e.toString());
        }
        
    }
}
class ServerThread extends Thread{
    Socket s;
    int sumClient;
    public ServerThread(Socket ts, int sc){
        s = ts;
        sumClient = sc;
    }
    public void run(){
    	StringBuffer data = new StringBuffer();
        String recv = "";
        System.out.println("连接成功,正在接收数据...");
        try{
            BufferedReader sis = new BufferedReader(new InputStreamReader(s.getInputStream()));
            PrintWriter sos = new PrintWriter(s.getOutputStream());
            recv = sis.readLine();
            while(!recv.equals("bye")){
                data.append("客户"+sumClient+"在时间"+Calendar.getInstance().getTime().toString());
                data.append("接收到数据:"+recv);
                System.out.println(data.toString());
                sos.println(data.toString());
                sos.flush();
                recv = sis.readLine();
                data.setLength(0);
            }
            if(recv.equals("bye"))
            	sos.println("bye");
            sos.close();
            sis.close();  
            s.close();
        }catch(Exception e){}
    }	
}

⌨️ 快捷键说明

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