我刚刚开始学习 Node.js,当我学习 fs.watchFile()
方法时,我想知道是否可以用它(和 fs.writeFile()
)有效地构建一个聊天网站,例如 Socket.IO,它是稳定的,但我相信不是 100% 稳定(有几个回退,包括 flash)。
使用 fs.watchFile
或许也可以用来非常简单地保存聊天历史记录(因为可以当场使用 JSON)。
聊天文件可以采用 JSON 格式,这样只有最后一个聊天者的消息才会被带到 DOM(或者其他任何可以在文件更新时有效地“获取”消息的方式)。
我还没有尝试过,因为我还需要了解更多关于 Node 的知识,甚至更多才能将它与 Socket.IO 进行比较,但是你对此有何看法?这可能是一种高效/稳定的聊天方式吗?
最佳答案
fs.watchFile()
可用于监视本地文件系统(在服务器上)中文件的更改。这无法解决您更新浏览器中所有客户端聊天消息的需求。您仍然需要 Web 套接字、AJAX 或 Flash(或 socket.io,它可以处理所有这些)。
您通常可以在客户端中执行的操作是尝试使用 Web 套接字。如果浏览器不支持它们,请尝试使用 XMLHttpRequest。如果失败,则退回到 Flash。这需要大量的编程工作,并且也必须由 Node.js 服务器来处理。 Socket.io 会为您做到这一点。
此外,socket.io 非常稳定。回退到 Flash 并不是因为它不稳定,而是因为浏览器缺乏对更好解决方案(如 Web Sockets)的支持。
关于javascript - 没有 Socket.IO 的 Node.js 聊天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19418893/