应用程序的客户端 - 服务器架构

时间:2017-08-25 23:47:42

标签: java android sockets client-server

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

我只想知道我的架构是好的还是一个坏主意。

1 个答案:

答案 0 :(得分:1)

在我看来,打开和关闭连接是一种很好的做法,因为连接是相对昂贵的资源。 所以,我想说是的,你最好选择你目前已经实现的架构。

  • 打开连接
  • 执行操作
  • 关闭连接