当前位置导航:炫浪网>>网络学院>>编程开发>>JAVA教程>>Java进阶

Java实现网络监听


  // tcpServer.java by fpont 3/2000
  
  // usage : java tcpServer .
  // 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
  // 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);
  }
  }
  }
相关内容
赞助商链接