node.js - ReactNative + NodeJS - 简单聊天需要 Socket.io?
问题描述
正在开发一个移动应用程序供学生和教师互动(一对一)。因此,有时,老师会给学生布置作业。如果学生对作业有任何疑问,可以问几个问题。
因此,我正在为学生和教师(在 ReactNative 移动应用程序中)显示类似 WhatsApp 的聊天窗口。
我在服务器(API)端使用 NodeJS、Express 和 MongoDB。当学生想要发送消息或教师想要发送消息时,他们输入 TextInput 并在按下发送按钮时,应用程序将进行 API 调用以将此消息保存在数据库中。我已经实现了,没有问题。
当学生或教师打开消息屏幕时,会调用 API 来提取所有消息并显示出来。我也这样做了。
但我的疑问是,如果学生或教师在同一个屏幕中,我应该如何 ping 服务器(比如名为“A”的学生查看名为“T”的教师的聊天屏幕)。双方不会一直在线。所以这不会是一个聊天密集型应用程序。
我应该使用 Socket.io 来进行聊天实现,还是应该在学生/教师在同一个屏幕上时每隔一段时间 ping 服务器?如果是后者,我是否必须将 API 调用代码(以检查新消息)放入useEffect()
?这里有点困惑
解决方案
推荐阅读
- firebase - Flutter Firestore 缓存流
- android - Xamarin Android ReflectionTypeLoadException
- ios - CAMetalLayer 仅适用于 iOS 13.0
- png - 如何在保留 HU 值的浏览器中加载 DICOM 像素数据?
- docker-compose - skaffold init 不支持 helm 配置文件
- ubuntu - 如何删除/删除akeneo?
- zabbix - 使用参数从 Zabbix Server 执行脚本
- javascript - 'array[array.length - 1] = array.pop()' 会产生未定义的行为吗?
- excel - 尝试通过在 Azure DevOps Pipeline 中使用命令行任务执行 EXE 来打开 excel 文件时出现异常
- python - 由于我没有权限,因此无法使用 python 的“shutil”复制目录