アプレットでクライアントのIPアドレスを取得する方法

アプレットでクライアントIPアドレスを取得する方法

次の例を使用して、アプレットのクライアントIPアドレスを取得できます。 このプロセスはそれほど単純ではありません。アプレットのロード元から現在のホストとポートを取得し、それをSocketオブジェクトに変換する必要があります。

Socket socket = new Socket(getDocumentBase().getHost(), port);
ip = socket.getLocalAddress().getHostAddress();

アプレットでIPアドレスを取得する例

package com.example.applet;

import java.applet.*;
import java.awt.Graphics;
import java.io.IOException;
import java.net.Socket;

public class AppletExample extends Applet {

    String ip;

    public void init() {

      try{
        int port;

        if(getDocumentBase().getPort()!=-1){
            port = getDocumentBase().getPort();
        }else{
            port = 80;
        }

            Socket socket = new Socket(getDocumentBase().getHost(), port);
        ip = socket.getLocalAddress().getHostAddress();

            }catch(IOException io){
        System.out.println(io.getMessage());
        }
    }

    public void paint( Graphics g ) {

       StringBuffer sb = new StringBuffer()
        .append(" IP address : ").append(ip);

       g.drawString(sb.toString(), 0,100);
    }

}