嗯,标题说明了一切:
如何使用Java在GWAN服务器中获取客户端IP地址?
我在C中看到有一种方法,但在Java中我找不到任何东西。 Java中没有实现与GWAN交互的所有方法吗?
答案 0 :(得分:0)
简短的回答是肯定的。
实现G-WAN Java API的Gwan.java
类以以下注释开头:
// ============================================================================
// Java API calls for the G-WAN Web App. Server (http://trustleap.ch/)
// ----------------------------------------------------------------------------
// Compile with: javac Gwan.java
//
// The G-WAN API getStrEnv() Java function returns a Java string for:
//
// REQUEST +
// QUERY_STRING |
// FRAGMENT_ID |
// REQ_ENTITY |
// VHOST_ROOT |
// WWW_ROOT |
// CSP_ROOT |
// LOG_ROOT | a copy of the G-WAN C string
// HLD_ROOT |
// FNT_ROOT |
// REMOTE_ADDR |
// USER_AGENT |
// SERVER_SOFTWARE |
// SERVER_NAME |
// SERVER_ADDR |
// SERVER_DATE +
//
// Use getIntEnv() for the many integer values (like REQUEST_LEN)
//
// ...but these get_env() values are ignored by Java getxxxEnv() calls:
//
// HTTP_CODE +
// SCRIPT_TMO |
// KALIVE_TMO |
// REQUEST_TMO |
// DOWNLOAD_SPEED | pointers on integers
// MIN_READ_SPEED |
// MAX_ENTITY_SIZE |
// US_HANDLER_STATES +
//
// US_HANDLER_DATA +
// US_VHOST_DATA | pointers on user-defined data structures
// US_SERVER_DATA +
//
// READ_XBUF + pointers on G-WAN internal structures
// HTTP_HEADERS +
//
// If you want to contribute in this matter (by helping to implement Java
// G-WAN API in C with JNI), then drop us a line, you are most welcome!
// ----------------------------------------------------------------------------
所以,是的,您可以使用值Gwan.getIntEnv()
的{{1}}来访问G-WAN服务器看到的客户端IP地址。
答案 1 :(得分:0)
你好@Gil回复,
也许该代码在其他版本中?这就是我在网页上提供的持续Gwan版本中看到的内容:
Gwan.java:
// ============================================================================
// Java API calls for the G-WAN Web App. Server (trustleap.ch)
// ----------------------------------------------------------------------------
package api;
public class Gwan {
public static native long getReply(long env);
public static native void xbufCat (long ctx, String str);
public static native long cycles64();
public static native long getNs ();
public static native long getUs ();
public static native long getMs ();
public static native void logErr (long env, String msg);
public static native void report (long reply, int html_format);
}
// ============================================================================
// End of Source Code
// ============================================================================