现在的位置: 首页 > 综合 > 正文

Java实现网络监听

2018年04月26日 ⁄ 综合 ⁄ 共 2333字 ⁄ 字号 评论关闭
// 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);
}
    }
}
 

抱歉!评论已关闭.