首页 | 社区 | 博客 | 招聘 | 文章 | 新闻 | 下载 | 项目交易 | 网友作品 | 读书 | ACM题库 | 源码
亲,您未登录哦! 登录 | 注册

Java实现网络监听

(加入日期: 2004-09-23 )

打印文章】【字体:

分享到:
// 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);
}
    }
}

本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )

编程爱好者论坛

本栏最新文章