点击这里给我发消息 点击这里给我发消息

Java实现网络监听

添加时间:2013-12-7
    相关阅读: 网络

  // 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);
  }
  }
  }
咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册