我正计划建立一个IRC网络,并一直在探索各种选择。我打算使用Inspircd IRC Server。以及运行meteor的网络服务器。是否可以使用websockets构建Web IRC客户端,而不是使用webscokets网关(以减少Web服务器上的负载)并直接连接到IRC Inspircd框?
其次,如果上面的是,那么IRCclient <-> IRCServer
与IRCclient <-> WebScoketGateway (/webserver) <-> IRC Server
关系的利弊是什么。
我看到大多数涉及节点或流星的模块(包括socket.io)都使用WSGI,为什么会这样?我在这里错过了什么吗?
请注意,在这种情况下,IRC服务器和Web服务器都由我运行,因此使浏览器相信两者都是相同的框。
答案 0 :(得分:1)
是否可以使用websockets构建Web IRC客户端,而不是使用webscokets网关(以减少Web服务器上的负载)并直接连接到IRC Inspircd框?
没有。 WebSockets是HTTP中的一个层,即客户端使用Update标头发送HTTP请求,服务器以HTTP响应响应,确认更新请求。数据以框架格式交换,并且通常与某些密钥进行异或。
因此,您不能将任意且非IRC数据发送到非WebSocket服务器,但您需要一个网关将WebSocket握手和帧转换为普通TCP。
答案 1 :(得分:0)
UnrealIRCd 4.0.10及更高版本support the WebSocket protocol(ws://和wss://)。 WebSocket框架与标准IRC连接交换相同的消息。