服务器

来源:互联网 发布:mac桌面文件放进文件夹 编辑:程序博客网 时间:2024/04/25 21:28
 1 import java.io.BufferedReader; 2 import java.io.IOException; 3 import java.io.InputStreamReader; 4 import java.io.PrintWriter; 5 import java.net.ServerSocket; 6 import java.net.Socket; 7 import java.util.ArrayList; 8  9 import com.sun.xml.internal.bind.v2.runtime.unmarshaller.XsiNilLoader.Array;10 11 public class Myset {12 13     public static void main(String[] args) {14 15         // 定义一个集合16         final ArrayList<Socket> ss = new ArrayList<Socket>();17         try {18             // 设置服务器的端口号19             ServerSocket s = new ServerSocket(8888);20 21             while (true) {22                 System.out.println("等待接收一个新用户的请求");23                 // 定义socket接收24                 final Socket socket = s.accept();25                 // 把接收到的放到结合中去26                 ss.add(socket);27                 // 开启线程28                 new Thread() {29 30                     public void run() {31                         try {32                             // 读取发送过来的东西33                             BufferedReader b = new BufferedReader(34                                     new InputStreamReader(35                                             socket.getInputStream(), "utf-8"));36                             // 利用循环多次接受37                             while (true) {38                                 // 把读到的值付给data39                                 String data = b.readLine();40                                 // 新建一个socket 比对集合中你接收到的客户端41                                 for (Socket sk : ss) {42 43                                     // 这个判断是不给自己发44                                     // if (sk != socket) {45                                     // 创建输出流46                                     PrintWriter pw = new PrintWriter(47                                             sk.getOutputStream());48 49                                     // 把date的值发送出去50                                     pw.println(data + "123");51                                     System.out.println(data + "123");52                                     // 刷新53                                     pw.flush();54 55                                     // }56                                 }57                             }58 59                         } catch (Exception e) {60                             // TODO Auto-generated catch block61                             e.printStackTrace();62                         }63 64                     };65                 }.start();66             }67 68         } catch (Exception e) {69             // TODO Auto-generated catch block70             e.printStackTrace();71         }72 73     }74 75 }

 

0 0
原创粉丝点击