繁体   English   中英

如何使用Java在GWAN服务器中获取客户端IP地址?

[英]How i can get the Client IP Address in GWAN Server Using Java?

好吧,标题说明了一切:

如何使用Java在GWAN服务器中获取客户端IP地址?

我看到在C中有一种方法,但是在Java中我什么都找不到。 并非所有用Java实现的方法都可以与GWAN交互吗?

简短的答案是肯定的。

实现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()与值REMOTE_ADDR一起使用,以访问G-WAN服务器看到的客户端IP地址。

您好@吉尔,您的回复,

也许该代码在其他版本中? 这是我在网页上提供的最新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
// ============================================================================

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM