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);
     }
   }
} 



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