我想用Java做一个端口监听程序
当有客户端通过这个端口访问主机时,记录下客户端的ip地址,同时把客户端的ip地址和访问的时间写在一个文件中
我在网上搜了一下,说是用socket()函数,我在这方面不太熟悉
希望给为给点意见
谢谢!!!!

解决方案 »

  1.   

    ServerSocket s = ServerSocket(100) 打开100端口 s.getInputStream()可以获取到访问中广核端口的数据情况
      

  2.   


    s.getInetAddress();
    返回值是Inetaddress不是纯粹的IP地址,是比IP地址要要强的地址----下面是JAVA技术文档提供的内容------
    InetAddress getInetAddress() 
              Returns the address to which the socket is connected. 
      

  3.   

    socket能够实现。
    服务器端:
      int PORT = 8888; // 侦听端口
      // 创建ServerSocket
      ServerSocket serverSocket = new ServerSocket(PORT);
      // 开始循环
      while (true) {
      // 等待连接
      socket = serverSocket.accept();
      // 处理链接的线程类
      ServerThread st = new ServerThread(socket);
      // 启动线程处理
      new Thread(st).start();
      }
    客户端:int PORT = 8888; // 侦听端口
      // 建立连接
      socket = new Socket(“127.0.0.1”, 8888);
      // 输入数据的读取
      BufferedReader netIn = new BufferedReader(new InputStreamReader(socket.getInputStream()));
      // 写入数据
      PrintWriter netOut = new PrintWriter(socket.getOutputStream());
    自己加上上面的获取IP就可以了。
      

  4.   

    socket能够实现。
    服务器端:
      int PORT = 8888; // 侦听端口
      // 创建ServerSocket
      ServerSocket serverSocket = new ServerSocket(PORT);
      // 开始循环
      while (true) {
      // 等待连接
      socket = serverSocket.accept();
      // 处理链接的线程类
      ServerThread st = new ServerThread(socket);
      // 启动线程处理
      new Thread(st).start();
      }
    客户端:int PORT = 8888; // 侦听端口
      // 建立连接
      socket = new Socket(“127.0.0.1”, 8888);
      // 输入数据的读取
      BufferedReader netIn = new BufferedReader(new InputStreamReader(socket.getInputStream()));
      // 写入数据
      PrintWriter netOut = new PrintWriter(socket.getOutputStream());
    自己加上上面的获取IP就可以了。
      

  5.   

    我想用Java做一个端口监听程序 
    当有客户端通过这个端口访问主机时,记录下客户端的ip地址,只需要记录下客户端的ip就可以了,不需由这个程序向客户端发送数据,同时把客户端的ip地址和访问的时间写在一个文件中 希望各位给点意见 
    谢谢!!!!