2009-08-30 110 views

回答

1

我认为你可以很容易地掌握它。 未经测试,但请试一试。

String ip = FlexContext.getHttpRequest().getRemoteAddr(); 
+0

我认为这会为某些类型的渠道工作,但它似乎并不为RTMP渠道工作。 HTTP请求对象为空。 – 2009-08-31 19:17:40

+0

似乎在BlazeDS中也能正常工作 – 2013-03-13 14:50:18

1

我没有找到一种方法如何通过简单的方法调用来实现所有通道类型。 因此,我使用这样的代码:

String ip; 
    Endpoint clientEndpoint = FlexContext.getEndpoint(); 
    if (clientEndpoint instanceof RTMPEndpoint) { 
     ip = ((RTMPFlexSession)FlexContext.getFlexSession()).getClientInfo().getIp(); 
    } 
    if ((clientEndpoint instanceof NIOAMFEndpoint) || (clientEndpoint instanceof AMFEndpoint)) { 
     ip = FlexContext.getHttpRequest().getRemoteAddr(); 
    } 
0

IP = FlexContext.getHttpRequest()的getRemoteAddr();

是给whoz连接

感谢罗马