是否可以使用运行您自己的IRC服务器的websockets而不使用websockets网关的IRC客户端?

时间:2015-07-03 11:37:34

标签: node.js sockets meteor websocket irc

我正计划建立一个IRC网络,并一直在探索各种选择。我打算使用Inspircd IRC Server。以及运行meteor的网络服务器。是否可以使用websockets构建Web IRC客户端,而不是使用webscokets网关(以减少Web服务器上的负载)并直接连接到IRC Inspircd框?

其次,如果上面的是,那么IRCclient <-> IRCServerIRCclient <-> WebScoketGateway (/webserver) <-> IRC Server关系的利弊是什么。

我看到大多数涉及节点或流星的模块(包括socket.io)都使用WSGI,为什么会这样?我在这里错过了什么吗?

请注意,在这种情况下,IRC服务器和Web服务器都由我运行,因此使浏览器相信两者都是相同的框。

2 个答案:

答案 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连接交换相同的消息。