使用 node.js、websockets 和 socket.io 创建实时聊天

Posted

技术标签:

【中文标题】使用 node.js、websockets 和 socket.io 创建实时聊天【英文标题】:Create live chat using node.js, websockets and socket.io 【发布时间】:2016-06-21 03:08:55 【问题描述】:

我知道如何使用websockets客户端连接到服务器端,只需编写以下代码:

var connection = new WebSocket('ws://mywebsite-url.com');

现在我想在 socket.io 中使用类似的东西来创建我的实时聊天支持系统..

或者

我必须使用 websockets 将值传递给 node.js 服务器并使用 socket.io 编辑数据并将其发送到将回复客户端的代理?

【问题讨论】:

A tutorial of how to create a live chat system is actually featured on the homepage of socket.io,并且没有明确使用 websockets。有没有你不能从那个教程中使用的东西? 【参考方案1】:

您在 socket.io 中的示例相当于:

var io = require("socket.io")

在服务器端和

var connection = io.connect()

在客户端,以及在您的 html 文件中链接正确的文件:

<script src = "/socket.io/socket.io.js"></script>

还可以查看这个有用的示例:http://socket.io/get-started/chat/

【讨论】:

它在客户端出现了这个错误:XMLHttpRequest cannot load http:///socket.io/1/?t=1466500351221. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource. 当我在主机上检查它时,它给我这个错误:GET http://trafficpets.com/socket.io/1/?t=1466500656694 404 (Not Found) 查看此链接:***.com/questions/10614857/… 基本上,您必须像客户端一样打开您的应用程序。这意味着在浏览器中输入:“localhost:*在此处插入指定的端口号*”

以上是关于使用 node.js、websockets 和 socket.io 创建实时聊天的主要内容,如果未能解决你的问题,请参考以下文章

Node.js http-proxy 丢弃 websocket 请求

带有 Node.js 和 socket.io 的 WebSockets

使用带有弹性 beanstalk、nginx 和 node.js 的 websocket 出现问题

使用 node.js、websockets 和 socket.io 创建实时聊天

从 node.js 和 websockets 访问 IPython 命令行

url 路径中带有通配符的 Node.js 和 Websocket