我为这个新手问题道歉,socket.io中表达的目的是什么?为什么我们需要在创建聊天应用程序时需要表达?.can我们只是使用socket.io API来创建聊天应用程序吗?
提前谢谢。
答案 0 :(得分:2)
Express是一个使用Node.js创建Web应用程序的微框架。您可以将其视为" Ruby on Rails"非常轻量级的替代品。
您将它与Socket.io一起使用,因为您通常需要一个基础来开始创建Web应用程序。 Express通常是常见的选择,但还有其他像Sails.js。您可以使用普通的Node.js API来创建一个带有Socket.io的应用程序。
答案 1 :(得分:1)
使用包含特殊webSocket标头的http连接启动webSocket连接,然后当双方同意转移到webSocket时,从http“升级”到webSocket协议。因此,您需要在nodejs中监听http服务器以便对webSocket连接进行字段化。
您不必使用Express将Web服务器与传入的webSocket连接一起使用(如果需要,可以只使用nodejs中的普通http模块或其他任何侦听传入http连接的模块),但socket.io与Express直接集成,只需要一行代码就可以将socket.io挂钩到Express中,然后监听传入的webSocket连接。
而且,正如其他人所说,每当你有一个webServer时,你经常也在提供网页,而Express是一种通过nodejs服务网页的一种简单而流行的方式,所以很多使用socket.io的人也已经在使用Express了。