Java实现网络监听

类别:Java 点击:0 评论:0 推荐:

// tcpServer.java by fpont 3/2000

// usage : java tcpServer <port number>.
// default port is 1500.
// connection to be closed by client.
// this server handles only 1 connection.

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

 

 

// tcpClient.java by fpont 3/2000

// usage : java tcpClient <server> <port>
// default port is 1500

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

本文地址:http://com.8s8s.com/it/it15321.htm