首页 > 解决方案 > ReactNative + NodeJS - 简单聊天需要 Socket.io?

问题描述

正在开发一个移动应用程序供学生和教师互动(一对一)。因此,有时,老师会给学生布置作业。如果学生对作业有任何疑问,可以问几个问题。

因此,我正在为学生和教师(在 ReactNative 移动应用程序中)显示类似 WhatsApp 的聊天窗口。

我在服务器(API)端使用 NodeJS、Express 和 MongoDB。当学生想要发送消息或教师想要发送消息时,他们输入 TextInput 并在按下发送按钮时,应用程序将进行 API 调用以将此消息保存在数据库中。我已经实现了,没有问题。

当学生或教师打开消息屏幕时,会调用 API 来提取所有消息并显示出来。我也这样做了。

但我的疑问是,如果学生或教师在同一个屏幕中,我应该如何 ping 服务器(比如名为“A”的学生查看名为“T”的教师的聊天屏幕)。双方不会一直在线。所以这不会是一个聊天密集型应用程序。

我应该使用 Socket.io 来进行聊天实现,还是应该在学生/教师在同一个屏幕上时每隔一段时间 ping 服务器?如果是后者,我是否必须将 API 调用代码(以检查新消息)放入useEffect()?这里有点困惑

标签: node.jsreact-nativeapiexpresschat

解决方案


推荐阅读