zoukankan      html  css  js  c++  java
  • 服务器

     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                                 // 把读到的值付给data
    39                                 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 block
    61                             e.printStackTrace();
    62                         }
    63 
    64                     };
    65                 }.start();
    66             }
    67 
    68         } catch (Exception e) {
    69             // TODO Auto-generated catch block
    70             e.printStackTrace();
    71         }
    72 
    73     }
    74 
    75 }
  • 相关阅读:
    Oracle 删除表中的一整列
    如何查看数据库中表的创建时间
    Oracle数据库的简单数据恢复
    分治和动态规划
    深入浅出 妙用Javascript中apply、call、bind
    CSS3 Background-size
    WampServer 2.5设置外网访问/局域网手机访问(403 Forbidden错误解决方法)
    js中apply方法的使用
    Leetcode No.1 Two Sum
    Python的sys.argv使用说明
  • 原文地址:https://www.cnblogs.com/3674-it/p/5134377.html
Copyright © 2011-2022 走看看