2016-07-27 46 views
1

对于socket.io,我还算是个新手。
我通过他们的文档页面和一些帖子在这里,但我坚持我的方法。我正在计划一个测验应用程序,管理员可以为每个主题创建动态空间,并且用户可以加入。管理员将发布问题,用户在PDA锁定答案选项卡之前获得10秒的回答。管理员稍后会通过管理员CP发布答案。Socket.io保存动态会议室并保持客户端连接节点JS

现在我的问题。
1.我们可以从管理面板创建动态房间,并将房间名称存储在数据库中,以便客户以后可以加入同一个房间?
2.我如何保持客户端连接,直到答案稍后发布?没有客户端断开连接。 //类似whatsapp组
3.即使客户端断开连接,我可以使用存储在数据库中的房间元数据加入客户端吗?
4.如果10个客户端回答我的问题,服务器可以解析他们的数据并将他们的ID存储在数据库中吗?

欣赏这方面的任何帮助。我不知道如何去做这件事。我跟着很多教程,但未能实现我所需要的。很抱歉的冗长的职位,但任何线索肯定会帮我
TIA

回答

2
  1. ,我们可以创建一个从管理面板动态客房,并在数据库中存储的房间名称,以便客户可以在以后加入同一个房间?

是的,你可以。

  1. 我该如何保持客户端连接,直到答案稍后发布?没有客户端断开连接。 //东西 例如WhatsApp组

Socket.io自动保持连接,只要活着,原始页面是在浏览器中活着。如果连接丢失,它将重新连接。如果用户转到另一个没有socket.io代码的页面,那么将没有连接。当客户端通过socket.io连接时,连接在给定页面中建立。只要用户在您的网站上,您可以让所有页面通过socket.io连接,如果您始终想要建立连接。

  • 即使客户端断开连接,我可以加入客户提供存储在DB房间元数据?
  • 如果客户端不再连接到您的网站,那么有没有什么给你做,你没有任何与该用户进行通信的能力。连接是客户驱动的事情。客户端必须建立到您的服务器的连接。当客户端重新连接时,您可以查看其在数据库中的状态以重新连接到某些房间,或查看他们在断开连接时可能错过的任何消息,并将这些消息发送到新重新连接的客户端。但是,这取决于您存储该信息并知道如何查询它以获取正确的信息以发送新连接的客户端。

  • 如果10个客户端回答我的问题,可以在服务器解析他们的数据,并将其与自己的数据库中存储ID?
  • 是的,你可以编写代码来做到这一点。

    +0

    谢谢@ jfriend00。我可以为动态套接字提供一些示例代码作为线索吗?我搜索,但无法找到适合我的要求的代码。任何教程也可以。谢谢。 – Pavan

    +0

    @Pavan - 我不确定我是否知道“动态套接字”的含义。 – jfriend00

    +0

    我的意思是,只要服务器在特定主题上创建一个新房间,例如地理位置或动物。应该为用户创建一个新的套接字或房间,并将其存储在数据库中。我的休息API将显示应用程序中的所有房间ID,以便用户可以点击并加入房间并开始发射事件。 – Pavan

    相关问题