• socket(一)


     1 package 线程安全的讨论;
     2 import java.io.BufferedReader;
     3 import java.io.IOException;
     4 import java.io.InputStreamReader;
     5 import java.io.PrintStream;
     6 import java.net.ServerSocket;
     7 import java.net.Socket;
     8 
     9 public class Server {
    10      public static void main(String[] args) throws IOException {
    11           //创建月hi个ServerSocket,用于监听客户端Socket的连接请求
    12          ServerSocket ss=new ServerSocket(3000);
    13          System.out.println("服务器启动了");
    14          while(true)
    15          {
    16              
    17              Socket s=ss.accept();
    18              //输出流,输出到客户端
    19              PrintStream p=new PrintStream(s.getOutputStream());
    20              //输入流
    21              BufferedReader buf=new BufferedReader(new InputStreamReader(s.getInputStream()));
    22              
    23              
    24              //读取服务器端的信息,并echo到客户端,以bye结束
    25             System.out.println("accept"+s.getInetAddress());
    26              
    27             
    28                while(true)
    29                {
    30                    String line=buf.readLine();
    31                    if(line.equals("bye"))
    32                    {
    33                        System.out.println("good bye");
    34                        break;
    35                    }
    36                    else
    37                    {
    38                        System.out.println(line);
    39                    }
    40                    
    41                    
    42                }
    43          }
    44           
    45          
    46      }
    47 
    48 }

    2.客户端

    package 线程安全的讨论;
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.PrintStream;
    import java.net.Socket;
    import java.util.Scanner;
    
    public class Client {
         public static void main(String[] args) {
              try
              {
                   Socket socket=new Socket("127.0.0.1",3000);
                   //将socket对应的输入流包装成BufferedReader
                   BufferedReader br=new BufferedReader( new InputStreamReader(System.in));
                  
             
                  
                   
                   PrintStream pt=new PrintStream(socket.getOutputStream());
                  
                 
                   String line=null;
                   while((line=br.readLine()) != null)
                   {
                       pt.println(line);
                       
                   }
                   
                   br.close();
                   socket.close();
    
              }
              catch(IOException e)
              {
                   e.printStackTrace();
              }
             
         }
    
    }
  • 相关阅读:
    Cookie和Session的区别
    CSRF攻击与防御(写得非常好)
    AcWing397 逃不掉的路(边双)
    CF1345D Monopole Magnets(构造)
    AcWing1175 最大半连通子图(tarjan)
    西安邮电大学第五届ACM-ICPC校赛 C题 异或生成树(树形dp)
    AcWing368 银河(差分约束)
    AcWing401 从u到v还是从v到u? (tarjan)
    牛客 位数差(二分)
    AcWing367 学校网络(tarjan)
  • 原文地址:https://www.cnblogs.com/hansongjiang/p/4009306.html
Copyright © 2020-2023  润新知