0

据我了解,WebSockets 旨在穿越防火墙和代理。实际上,在客户端和服务器之间握手之后,通信协议将从 HTTP 更改为 WS,但它仍将在用于建立握手的端口上进行通信。(见websocket.org)。

换句话说,如果客户端可以在给定端口上进行 HTTP 请求,那么他也可以在同一端口上进行 WS。

但是,根据XSockets 配置文档,用于 WS 通信的端口与 HTTP 端口不同。与常规的 WS 连接不同,防火墙上的 NAT 似乎需要允许 XSockets 服务器和客户端之间的通信。

有没有办法配置 XSockets 服务器以重新使用用于握手的 HTTP 端口(端口 80),而不会与托管在同一 Web 服务器 (IIS) 上的现有 Web 应用程序产生冲突?

4

1 回答 1

1

你说的对。但是,监听 web 端口的应用程序应该能够理解 WebSocket 协议以便进行握手,而 IIS < 8 则不是这种情况。

如果您想让 WebSocket 与 Web 应用程序在同一端口上运行,则需要 IIS 8(包含在 Windows >= 8 和 >= 2012 中)。

据我所知,XSocket 允许您使用 IIS8 作为托管环境:http: //xsockets.net/docs/hosting#using-iis8

但是如果你有 IIS < 8 ,那么这是不可能的。这不是 XSocket 限制,而是 IIS 限制。

于 2014-06-05T00:00:19.890 回答