据我了解,WebSockets旨在遍历防火墙和代理。实际上,在客户端和服务器之间的握手之后,通信协议将从HTTP更改为WS,但它仍将在用于建立握手的端口上进行通信。 (见websocket.org)。
换句话说,如果客户端可以在给定端口上执行HTTP请求,他也可以在同一端口上执行WS。
但是,根据XSockets configuration documentation,用于WS通信的端口与HTTP端口不同。与常规WS连接不同,防火墙上的NAT似乎需要允许XSockets服务器和客户端之间的通信。
是否有办法配置XSockets服务器以重新使用用于握手的HTTP端口(端口80),而不会与同一Web服务器(IIS)上托管的现有Web应用程序产生冲突?
答案 0 :(得分: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的限制。