zoukankan      html  css  js  c++  java
  • 网络编程(ServerSocket)

    public class MyServer {
        
        

        public static void main(String[] args) {
            
            //创建服务器端
            try {
                ServerSocket server=new ServerSocket(9999);
                
                //创建集合对象存放连接的客户端
                 final List<Socket> list=new ArrayList<Socket>();
                
                 //循环接受客户端
                 while(true)
                 {
                    final Socket client = server.accept();
                     //并将客户端添加到集合中,方便管理客户端
                     list.add(client);
                    
                    
                     //创建子线程来接受客户端的发送的消息,从而保证主线程的运行
                     new Thread(){
                         public void run() {
                            
                             //接受客户端的消息
                            
                            try {
                                 BufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream(), "gbk"));
                                
                                 while(true)
                                 {
                                    
                                    String data = br.readLine();
                                     //将读取的客户端的信息转发给其他客户端
                                     for(Socket cs:list)
                                     {
                                         if(cs != client)
                                         {
                                             //向其他客户端发送消息
                                             PrintWriter pw=new PrintWriter(cs.getOutputStream());
                                             pw.println(data);
                                             pw.flush();
                                         }
                                     }
                                    
                                 }
                            } catch (UnsupportedEncodingException e1) {
                                // TODO Auto-generated catch block
                                e1.printStackTrace();
                            } catch (IOException e1) {
                                // TODO Auto-generated catch block
                                e1.printStackTrace();
                            }
                            
                         };
                     }.start();
                    
                 }
                
                
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
            
        }

    }

  • 相关阅读:
    ios 动画与2D、3D绘图
    ios UI设计与开发 按钮、图标和图片
    算法基础
    快速排序
    ios网络开发 同步下载和异步下载
    用C#调用Execl
    SQL函数大全
    出差
    窗体间的互操作
    垂直滚动条代码
  • 原文地址:https://www.cnblogs.com/8023-itxinde/p/5129765.html
Copyright © 2011-2022 走看看