Javascript 最好的1-1聊天模式是什么?(AJAX/CI/JQ)

Javascript 最好的1-1聊天模式是什么?(AJAX/CI/JQ),javascript,jquery,ajax,codeigniter,Javascript,Jquery,Ajax,Codeigniter,我正在创建一个系统,其中我计划让用户a生成一个特殊的聊天链接,以便他/她可以与用户B进行通信。这是一个1-1聊天模型。下面是我的模型的模式。我需要知道它是否实用或者是否可以改进 table messages chatid; {fk} message_id; {pk} timestamp; sender; table chat chatid; {pk} userA; userB; timestamp; 以下是该场景的控制流程: 用户A打算与用户B聊天 用户A进入生成聊天会话页面 用户A从列表中

我正在创建一个系统,其中我计划让用户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上打开聊天URL;嗯,用户B也是
  • 他们开始聊天
  • 页面不会重新加载,他们会很有趣地聊天
  • 结束。 等待你的回应

    由Asker编辑

    我在看这个模式。我不知道我将如何进一步添加到它以显示用户a/b在线/离线;也许是最后一次活动?你说吧

    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
    
    添加锡;闲聊 因此,当用户A单击kill chat时,将其设为1,默认值为tinyint=0;
    因此,这将终止聊天。

    为了能够将聊天扩展到两个以上的用户,并且不必在查询中同时检查chat.userA和chat.userB,我不会在聊天表中使用userA和userB。相反,我会添加一个表(例如chat_users),其中包含用户名/id(无论您在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}
    

    @joidegn哈哈,你是什么意思,先生。使用php长轮询或node.js socket.io进行聊天:我想让它变得简单,而不是像轮询或node.js那样复杂。你没有回答我的问题。我说的是模型。通过收件箱相互复制和粘贴会话链接。呵呵@joidegn:正如我说的,基本的。你还没有回答我的主要问题。关于模型,明白了。那么最后的模型是什么?我只是想了想。这不是我期望的最佳模式。只需将
    user\u online int default 0
    添加到chat\u user表中即可。当用户登录/打开聊天并查询列表/个人资料并启动聊天时,设置为1。@stormdrain:在哪里?见我的原始问题,下面由编辑asker@AliGajani到
    聊天室用户
    表;请参阅我在上面的评论2。如果您需要代码方面的帮助,请显示您已有的代码。