【问题标题】:How works a server and different clients?服务器和不同的客户端如何工作?
【发布时间】:2017-03-02 06:38:51
【问题描述】:

我正在尝试编写一个具有以下功能的小应用程序:

  • 用户注册和登录。
  • 用户资料(基本数据和一些统计数据,即昵称、年龄)。
  • 聊天(一对一、群聊)。
  • 实时多人游戏会话(很简单,想象一下井字游戏)。

我想用 Java 编写服务器端代码,因为这是我最了解的语言,但是我对用于我的开发过程的架构有很多疑问。我想让来自 Android、iOS 和网络浏览器的客户端连接到我的服务器,所以基本上我正在寻找关于如何解决这种情况的基本指南/建议,因为我的第一个应用程序与服务器客户端一起工作。

我的想法是使用 Java EE 创建一个服务器,但我不清楚是否应该使用套接字或哪种连接和通信系统。

感谢您的帮助,

干杯。

【问题讨论】:

  • 您的问题有点宽泛,需要关于架构模式、通信协议的长篇论文。我建议你从小问题开始。知识(和答案)是一步一步来的。例如,首先尝试问你:我希望服务什么样的客户?网络浏览器是一种客户端。在 Android 和 iOS 中有哪些类型的客户端?第二:什么样的通信协议适合这个客户端?
  • 我只使用 Web 浏览器客户端,在 Java EE 中创建 Web 动态应用程序。我最大的疑问之一是:我能否使用 Web 套接字连接我的服务器和不同的客户端(Android、iOS、Web 浏览器)并通过此协议对这些客户端进行身份验证和授权?
  • 这个问题比较明确,试着问它(不在评论中)。也许有人有正确的答案。

标签: jakarta-ee networking web-applications server client


【解决方案1】:

我试着给你我的建议,但我知道它们并不完全详尽。

服务器

  • 使用 REST 方法,因为它是设计客户端-服务器交互的现代且轻量级的方法。设计一个 rest api 让你也完全独立于前端或客户端实现
  • 使用基于令牌的身份验证避免会话管理,以便以更少的问题扩展到更多实例
  • 准备好使用实时框架进行聊天和推送通知

客户

  • 使用 AngularJS 等 javascript 框架和 Boostrap 等响应式 css 框架
  • 考虑采用 Ionic 等混合移动应用框架,以便从特定平台工件生成中抽象出前端开发

希望对你有帮助

【讨论】:

  • 非常感谢您的建议。我将尝试使用套接字。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多