微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 IHttpHandler 中检测远程端口

如何解决在 IHttpHandler 中检测远程端口

嘿,您如何在 Web 服务器上获取请求的远程端口?

所以我的代码应该是这样的:

public class EndpointReflectionHandler : IHttpHandler
{
    public new void ProcessRequest(HttpContext context)
    {
        string address = context.Request.UserHostAddress;
        int port = context.Request.UserHostPort;            //it's not there

        context.Response.ContentType = "text/plain";
        context.Response.Write(address + ":" + port);
    }
}

...但我找不到任何东西来获取端口。

编辑。感谢蒂姆的精彩评论

完整的工作流程如下:

  1. 客户端启动,打开一个套接
  2. 嘿 webservice,我的 IP 和端口是什么?
  3. 现在是 1.2.3.4:1234
  4. 嘿其他人,我会听 1.2.3.4:1234(尽管在我看来它看起来像 9.9.9.9:9999
  5. 好的,我会连接到 1.2.3.4:1234
  6. 大家开心,来杯啤酒

解决方法

我知道了 context.Request.ServerVariables["REMOTE_PORT"]。

没什么,只是猜测和到处寻找:)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。