- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我想在我的应用程序中集成一个公共(public)聊天室,但我对如何创建后端一无所知。
我的应用程序使用 firebase,两个用户或一组用户之间的设置很简单。我根据 Firebase 中的引用点创建了一个私有(private)房间,允许该组中的用户访问消息。
现在假设我在洛杉矶,我希望用户能够与距离他们所在位置 (lat/lng) 1 英里半径范围内的其他用户聊天。我知道这是可能的,因为有一个应用程序可以做到这一点,可以在 https://itunes.apple.com/sg/app/popcorn-messaging/id718416705?mt=8 找到。 .
如果您想了解我的尝试,请阅读以下内容。这可能有点令人困惑。
我考虑过的一种方法是在世界范围内创建一个间隔一英里的聊天室。例如,从 lat:0、lng:0 开始,然后向右移动一英里,然后再向右移动一英里,等等。然而,这样做弊大于利。我将拥有数百万个聊天室,但不会全部使用。
我认为我可以实现的第二种方法是创建一个聊天室(如果它不存在于用户半径内)。因此,如果我在洛杉矶,并且没有聊天室,它会在那个位置创建一个,假设另一个人去洛杉矶,因为聊天室已经在 1 英里范围内创建,它会为该用户加载聊天室.
如有任何建议,我们将不胜感激。
最佳答案
如果您确定希望它是 1 英里乘 1 英里或任何类型的设定距离,我认为世界各地预定义的聊天室以英里为间隔是更好的选择。就添加新用户和避免人们移动位置时的重叠而言,这将简单得多。如果您使用的是 Firebase,并且正确地展平了数据,您就不会因为空房间而对自己造成太大伤害。
我可能不会这样做的唯一原因是,如果您担心聊天室变得太满或太空。我不确定这是否与您的应用程序有关,但这肯定是预定义位置的缺点。即使那样,您也可以使用预定义的位置并根据房间中的人数缩减(拆分房间)或扩大规模(合并房间)。
希望这对您有所帮助。如果您正在寻找更多方向,能否告诉我们更多关于您的申请的信息?
更新:我明白你在说什么。经过进一步思考,我仍然认为预先确定的区域是最好的去处。即使你自发地创建新区域,仍然会有一个点,你需要打破房间(画出房间之间的界限),并且这条线两侧的用户,即使他们彼此相邻,也会在不同的房间。
如果它仅基于纬度/经度和这些用户周围的半径,那么最终也可能会出现奇怪的结果。例如,如果用户 B 与用户 A 和 C 在一个房间,但用户 A 和 C 彼此距离太远,他们可能会看到一些非常奇怪的聊天消息。例如,如果该半径为 1 英里,用户 A
可能位于 0 英里
,用户 B
可能位于 1 英里
,User C
可能位于 Mile 2
。所以对于 User A
(只能看到 User A
和 User C
)来说,聊天可能看起来像这样:
User A: Hello there! What is 2+2?
User B: 4
User A: Thank you!
User B: George Washington
User A: What?!?!
对于 用户 B
(他是唯一会看到所有消息的人),它可能看起来像这样:
User A: Hello there! What is 2+2?
User B: 4
User A: Thank you!
User C: Who was the first president of the United States?
User B: George Washington
User C: Thank you!
User A: What?!?!
对于 User C
(他只能看到 User B
和 User C
),它可能看起来像这样:
User B: 4
User C: Who was the first president of the United States?
User B: George Washington
User C: Thank you!
这似乎很快就会失控。毕竟,我认为我最初的建议仍然是最好的,但我认为他们都会遇到挑战。祝你好运!
关于ios - 使用 Firebase 的具有半径的公共(public)聊天室(已请求建议),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39110259/
我有聊天应用程序,可以一对一发送消息(fromId/toId)。我想升级它的聊天室。我怎样才能做到这一点? ChatingRoom 需要什么数据库结构?我还需要做什么? 我的 User.swift 模
本文实例讲述了python socket多线程通讯方法。分享给大家供大家参考,具体如下: ?
我正在使用简单的套接字连接创建一个聊天室。我有一个服务器和客户端程序。服务器在端口 225 上运行,然后当我在端口 225 上运行客户端以便它们可以读/写套接字时,客户端立即停止并显示错误消息 jav
我可以创建一个粘液室。但是如果我将房间名称指定为数据库中现有的房间名称,服务器会拒绝它。那么是否可以在 ejabberd 服务器(MYSQl 后端)中创建两个具有相同名称的房间? 如果可能的话,后果是
我正在尝试使用 PHP 创建一个聊天室(顺便说一句,它正在工作),但只显示消息,而不显示他们的用户名。我已经为他们创建了数据库、用户名和消息。我不知道为什么他们的用户名没有显示 ".$extract[
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我想在我的应用程序中实现群聊,为此我正在使用 MUC 聊天室来实现它。 在这里,我想向房间添加一个成员列表(我有 JID)。我想在内部将它们添加到列表中的所有成员。我如何在不邀请他们的情况下添加他们。
我正在尝试在 Rails 中创建类似 Whatsapp 的消息应用程序服务器端,并进行私有(private)对话。现在,我正在尝试实现应用程序的实时部分 - 我正在使用 websocket-rails
我正在尝试为我的网站制作一个 PHP/JavaScript 聊天系统。如何在不刷新页面的情况下做到这一点? JavaScript 可以:--动态添加文本到文本框。 PHP 可以:--将聊天内容保存到聊
我已经为多个客户端完全开发了一个聊天室,其多线程服务器可以完成这项工作,但仅限于我的本地计算机。我想超越这个,让这个聊天室通过互联网工作。到目前为止,我已经在路由器上对 TCP 协议(protocol
我是 Angular 的初学者,我正在尝试构建一个聊天室应用程序,以此自学如何在该框架中进行开发。 我在后端使用 PHP 和 Yii 将 RESTful 数据发送回 Angular 应用程序。我知道我
我正在寻找好的建议来制作这个聊天室: 使用 Java Swing。我已经尝试了所有 java swing 组件 3 天,但我仍然不知道该选择什么。 容器还必须插入 JprogressBars 以进行文
嗨,我正在努力让两件事同时工作...... channels2 chat room例子可以开始,但我想添加一个功能,知道房间里有多少人。我通过更新房间模型来做到这一点。 然后我想要一个仪表板来显示当前
我正在编写一个需要持久存储对话的多聊天室应用程序(即新用户应该能够看到旧消息)。如果有帮助,我正在使用 socket.io。 目前,当用户登录到一个房间时,我的 Node 应用程序会检查是否有人去过那
我试图扩展doc中关于TCP的代码来制作一个简单的聊天室,简单地说,几个客户端连接到服务器,一个客户端发送一个字符串,服务器将字符串广播给所有客户端......我写的代码显示下面,它不起作用,有人可以
如何在 Microsoft-Teams 中自动向聊天室发布消息?这是用于单向消息传递:即发布消息,而不是阅读消息。 这里的大局是我们正在评估不同的群聊解决方案,其中一项要求是从各种服务和程序向聊天室发
我创建了一个小型的 jquery 和 php 聊天室,其中包含一些 .get 和 .post 函数以及用于将数据读写到 sql server 的 php 文档。它工作正常,但小问题是当有人发布一些东西
我想实现的是自动下载附件功能,无需进入 ChatRoom,使用 QuickBlox SDK iOS 版本 2.0.12, 为此,我想在登录后启动用户所属的所有对话框(聊天室)。 使用当前的 API,用
所以我有聊天室工作所以如果收件人是 All 或 ALL 它广播我有这个工作所以如果你的名字是'Sam'它发送它与“私有(private)消息:”文本我不知道如何检查用户名的花名册并将其私下发送给该用户
我正在尝试创建基于移动设备的聊天应用。 基本上,我希望用户使用他们的 Facebook 帐户连接到 Facebook(使用 XMPPFramework) 我想要预先存在的房间供用户加入。我注意到 XM
我是一名优秀的程序员,十分优秀!