C#像PHP一样获取代理IP

时间:2012-12-14 14:28:17

标签: c# php ip

有一个用C#构建的游戏模拟器。

当用户登录时,它会记录他们的IP地址以禁止等...

我们支持反向代理,因此进入模拟器的所有连接都是代理的IP。

但是在我们注册的PHP页面上,我们使用了这段代码......

function getRealIpAddr() {
    if (!empty($_SERVER['HTTP_CLIENT_IP']))
    //check ip from share internet
    {
        $ip=$_SERVER['HTTP_CLIENT_IP'];
    }
    elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
    //to check ip is pass from proxy
    {
        $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
    }
    else
    {
        $ip=$_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}

并设法通过我们的反向代理返回客户端的正确IP。

这就是我目前在C#中获取客户端IP的方式......

public string RemoteAddress
{
    get
    {
        return ((mSocket != null && mSocket.Connected ?
            mSocket.RemoteEndPoint.ToString().Split(':')[0] : string.Empty));
    }
}

为了给你一些上下文,mSocket是连接客户端的套接字

C#是否可以执行相同的功能?我看到的所有答案都指向ASP,但我不需要它!

1 个答案:

答案 0 :(得分:0)

我已经决定当用户使用PHP登录时,它现在将设置他们的IP而不是模拟器在连接到它时执行它!

干杯 理查德:)