アプレットでクライアント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);
}
}