如何忽略某些套接字请求

时间:2009-06-13 20:54:16

标签: c++ tcp sockets

我目前正在使用C ++编写TCP套接字服务器;我试图找出如何忽略对我的服务器进行的所有浏览器连接。有什么想法吗?

感谢。

3 个答案:

答案 0 :(得分:7)

需要更多细节才能提供良好的反馈。

您是否要在端口80上侦听但是想要避免所有HTTP流量?或者您的协议是否基于HTTP?你需要听80还是可以选择任何端口?

如果它是您自己的自定义协议(HTTP或不是),您可以查看发送的第一行,如果它不符合您的喜好,只需关​​闭()套接字。

编辑:

由于您将要在自定义端口上进行侦听,因此无论如何您可能无法获得任何浏览器流量。此外,由于您将要编写自己的协议,只需要握手,建立您的客户端说出您的自定义协议,然后忽略(close())其他所有协议。

奖励积分:根据您的目标,发回一条HTTP错误消息,该消息可以显示给用户。

答案 1 :(得分:1)

您无法阻止Web浏览器启动的tcp-session连接到您的tcp服务器。您可以(如上所述)在检测到客户端尝试与您(或任何其他不需要的应用程序层协议)通话时关闭连接。

答案 2 :(得分:0)

只看有效连接请求和无效连接请求之间的差异(即转储两种请求类型以检查每个请求),在您的具体情况下,您将要查看HTTP request header以忽略所有此类请求(假设有效请求不使用HTTP)。