【发布时间】:2019-07-08 14:17:34
【问题描述】:
我是一般软件开发的新手,我正在为一个简单的拼车 iOS 应用程序(我稍后会开发)编写后端。我正在使用 Vapor 创建后端。
当用户向 API 发出行程请求时,我想创建一个新行程并在用户和司机之间建立一个 websocket 会话。我遇到的问题是如何通知司机有请求并将他添加到会话中?
这是我到目前为止的想法,虽然我不确定它是否会起作用:
当一个行程请求进来时,我会创建一个会话和一个带有会话 ID 的行程对象。当司机访问应用程序中的“旅行请求”选项卡时,他会发出获取请求以检索活动的旅行请求。然后,当他单击其中一个行程请求时,他将使用该特定行程的会话 ID 发出请求,以将其添加到该会话中。
我在上述解决方案中看到的问题是,这会使用户成为海报,司机成为观察者,我不确定这是要走的路,因为我希望司机充当海报(发送位置更新,以便用户可以在地图上实时跟踪司机)。
另一个问题是用户必须无限期地等待驱动程序接受他们的请求。
有没有更好的方法来通知司机行程请求?我怎样才能实现这一目标?
【问题讨论】:
标签: websocket client-server real-time api-design vapor