【发布时间】:2017-08-25 23:47:41
【问题描述】:
我为在 Android 上运行的应用构建了我的服务器。如果设置可以接受或完全错误,我会听取您的一些意见。所以架构就像请求-响应一样工作。 用户将登录,每个应用程序都会启动并获得一个新的会话 ID。 客户端和服务器没有保持连接。每个请求都会断开连接。对于服务器上的每个命令,首先需要检查会话 id,然后才能计算命令或请求。一切完成后,连接将断开。我正在考虑将连接保持到服务器的一些事情,这使我可以从服务器直接向客户端发送一些数据。这可能有很多用途。但另一方面,它不是线程“能够”的。因为我必须同步套接字访问并在所有类和活动之间共享 1 个套接字对象,所以在我看来这不是一个好方法。但我仍然想知道其他应用程序或在线游戏如何直接向客户端发送数据或消息。这意味着保持连接。我认为他们在服务或类似的东西中分开做。这是我面临的一个新问题。我可以使用 firebase 云消息传递,但是当服务器上运行超过 100 个线程时,这非常慢。一个更好的解决方案是编写第二个服务器程序,该程序与主服务器分开运行并保持与客户端的连接。这将是我的解决方案。
我只想知道我的架构是好还是坏。
【问题讨论】:
标签: java android sockets client-server