如何解决在 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);
}
}
...但我找不到任何东西来获取端口。
编辑。感谢蒂姆的精彩评论:
完整的工作流程如下:
- 客户端启动,打开一个套接字
- 嘿 webservice,我的 IP 和端口是什么?
- 现在是 1.2.3.4:1234
- 嘿其他人,我会听 1.2.3.4:1234(尽管在我看来它看起来像 9.9.9.9:9999
- 好的,我会连接到 1.2.3.4:1234
- 大家开心,来杯啤酒
解决方法
我知道了 context.Request.ServerVariables["REMOTE_PORT"]。
没什么,只是猜测和到处寻找:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。