c# - 获取 HttpRequest 的底层套接字

标签 c# asp.net sockets

我想访问 HttpRequest 中的底层套接字,以检查套接字的套接字选项。

protected void Page_Load(object sender, EventArgs e)
{
    Socket s = Request.????;
    Object result = s.GetSocketOption(SocketOptionLevel.IP,xxx);
    /// do something else
}

知道如何获取这些信息吗?

请注意,代码在 Azure 上运行。

最佳答案

不幸的是,我不得不做一个解决方法。我在不同的端口上创建了一个 TCPListener,它在较低级别处理基本的 HTTP 请求,但会捕获套接字中的信息。主 HTTP 重定向到这个以找出 ToS。

private void HandleAsyncConnection(IAsyncResult result)
{
  // Accept connection 
  TcpListener listener = (TcpListener)result.AsyncState;
  TcpClient client = listener.EndAcceptTcpClient(result);
  client.Client.GetSocketOption(SocketOptionLevel.IP, SocketOptionName.TypeOfService);
  ...
  // and then I do a redirect in HTTP
}

关于c# - 获取 HttpRequest 的底层套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19764773/

相关文章:

c# - 如何使用以编程方式创建的按钮在 WPF MVVM 中创建 OnClick 命令?

c# - ContexMenuStrip 奇怪的特定怪异行为

asp.net - 如何使用 MVC 3 启用/使用跨源资源共享?

asp.net - 在 Windows Azure 中的自定义端口号上发布网站?

c++ - 在RemoteHostClosedError之后重新连接到服务器时,QTcpSocket无法传输数据

c# - 我可以使用 Entity Framework 在单个数据库调用中轻松评估多个 IQueryables 吗?

c# - 限制某些函数被调用的替代方法?

c# - aspx 是否为 c# 静态变量提供特殊处理

java - C#/Java 套接字连接丢失?

java - 在android中连接Https Socket时出错