• java实现网络监听


                                                            Java实现网络监听

    
    import java.net.*;
    import java.io.*;
    
    public class tcpServer {
        
        public static void main(String args[]) {
    
        int port;
        ServerSocket server_socket;
        BufferedReader input;
       try { 
          port = Integer.parseInt(args[0]);
        }
        catch (Exception e) {
           System.out.println("port = 1500 (default)");
           port = 1500;
    }
    
       try {
          server_socket = new ServerSocket(port);
          System.out.println("Server waiting for client on port " + 
              server_socket.getLocalPort());
        // server infinite loop
        while(true) {
          Socket socket = server_socket.accept();
          System.out.println("New connection accepted " +
            socket.getInetAddress() +
            ":" + socket.getPort());
      input = new BufferedReader(new InputStreamReader(socket.getInputStream())); 
      // print received data 
      try {
          while(true) {
            String message = input.readLine();
           if (message==null) break;
           System.out.println(message);
          }
      }
      catch (IOException e) {
          System.out.println(e);
      }
      
      // connection closed by client
      try {
          socket.close();
          System.out.println("Connection closed by client");
      }
      catch (IOException e) {
          System.out.println(e);
         }
      }
    } 
      catch (IOException e) {
        System.out.println(e);
        }
      }
    }
    
    
    
    
    import java.net.*;
    import java.io.*;
    
    public class tcpClient {
    
        public static void main(String[] args) {
    
       int port = 1500;
       String server = "localhost";
       Socket socket = null;
       String lineToBeSent;
       BufferedReader input;
       PrintWriter output;
       int ERROR = 1;
    
      // read arguments
      if(args.length == 2) {
          server = args[0];
          try {
            port = Integer.parseInt(args[1]);
           }
          catch (Exception e) {
         System.out.println("server port = 1000 (default)");
          port = 1500;
        }
    }
    
    
    
    // connect to server
    try {
        socket = new Socket(server, port);
        System.out.println("Connected with server " +
          socket.getInetAddress() +
          ":" + socket.getPort());
    }
    catch (UnknownHostException e) {
        System.out.println(e);
        System.exit(ERROR);
    }
    catch (IOException e) {
        System.out.println(e);
        System.exit(ERROR);
    }
    
    
    
    try {
        input = new BufferedReader(new InputStreamReader(System.in));
        output = new PrintWriter(socket.getOutputStream(),true);
    
        // get user input and transmit it to server
        while(true) {
      lineToBeSent = input.readLine();
      // stop if input line is "."
      if(lineToBeSent.equals(".")) break;
      output.println(lineToBeSent);
        }
    }
    catch (IOException e) {
        System.out.println(e);
    }
    
    try {
        socket.close();
    }
    catch (IOException e) {
        System.out.println(e);
         }
       }
    } 



    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    synchronized锁机制 之 代码块锁(转)
    执行mvn 报错 source-1.5 中不支持 diamond运算符
    Git常用命令及场景
    mysql数据库导入与导出
    Linux磁盘空间分析及清理(df、du、rm)
    IIs配置文件存放路径
    解决SQLite database is locked
    C#测试web服务是否可用
    Jquery easyui-combobox 的一个BUG
    iframe自适应方法
  • 原文地址:https://www.cnblogs.com/ywx-vashon/p/4895739.html
Copyright © 2020-2023  润新知