最好的1-1聊天模式是什么?(AJAX/CI/JQ)
What is the best 1-1 chat model ? (AJAX/CI/JQ)
我正在创建一个系统,计划让用户a生成一个特殊的聊天链接,以便他/她可以与用户B进行通信。这是一个1-1聊天模型。我的模型架构如下。我需要知道它是否实用,或者是否可以改进。
table messages
chatid; {fk}
message_id; {pk}
timestamp;
sender;
table chat
chatid; {pk}
userA;
userB;
timestamp;
以下是场景的控制流程:
- 用户A有意与用户B聊天
- 用户A进入生成聊天会话页面
- 用户A从列表中选择用户B
- 用户A生成聊天会话/app/chatid/007
- 用户A复制并粘贴URL,以便通过收件箱将其发送给用户B
- 用户A和用户B就他们希望聊天的时间达成一致
我知道,有点奇怪,因为我不知道如何实现一个在线/离线检查用户的系统,尽管如果你有想法,你可以加入。
- 用户A在hh;mm,用户B也是
- 他们开始聊天
- 页面不会重新加载,他们聊得很开心
结束。正在等待您的回复。
由Asker编辑
我在看这个模式。我不知道我将如何进一步添加到它中,以显示用户a/用户b在线/离线;也许是last_activity?你说吧。
tbl_chat
-------------
chat_id (pk)
user_id_a (fk)
user_id_b (fk)
timestamp
tinyint;
tbl_msg
-------------
message_id (pk)
chat_id (fk)
user_id_sender (fk)
message_body
timestamp
添加tinyint;到tbl_chat因此,当用户A点击kill chat时,它将其设为1,默认为tinyint=0;所以这就扼杀了聊天。
为了能够将聊天扩展到两个以上的用户,并且不必在查询中同时检查chat.userA和chat.userB,我不会在聊天表中使用userA和userB。相反,我会添加一个表(例如chat_users),它有用户名/ids(无论你在userA和userB中放什么)和一个chatid。除此之外,我想说,信息需要一个身体。
table messages
chatid; {fk}
message_id; {pk}
timestamp;
userid; {fk}
body;
table chat
chatid; {pk}
timestamp;
table chat_user
userid; {fk}
chatid; {fk}
相关文章:
- 无法在通过jQuery的ajax加载的页面中执行javascript
- 如何通过ajax刷新JSF填充的javascript变量
- 如何在php文件中获取$.post-ajax传递的值
- Replacing $ .ajax?
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- Ajax发布表单序列化,发布引号'
- 通过Ajax将JavaScript函数传递给PHP文件
- ajax请求的顺序总是不同的
- 可以't使用Polymer's的核心ajax
- Ajax Live搜索发布到Laravel视图
- Ajax聊天消息重复而不仅仅是更新
- 从控制器返回后Ajax启动事件激发
- PHP AJAX图片上传示例不上传
- 从ajax请求中获取javascript对象
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 如何在Javascript中解析AJAX数组的特定部分
- Ajax文件加载和<输入>文件加载
- Javascript/jQuery中的并行Ajax调用
- Ajax-如何获取数据
- 最好的1-1聊天模式是什么?(AJAX/CI/JQ)