【问题标题】:Client and server model in a web game网页游戏中的客户端和服务器模型
【发布时间】:2023-04-04 11:27:01
【问题描述】:

目前,我正在开发一款 2 人俄罗斯方块游戏。最初,我计划在移动环境中实现客户端-服务器模型。

但是,现在我变成了可以通过浏览器访问的网页游戏。由于我不习惯网络开发,所以我想知道在网络游戏中是否需要客户端-服务器模型。

老实说,我对同时编写客户端和服务器代码有点怀疑,因为浏览器负责连接到服务器。

是否可以仅使用一台服务器而不使用客户端部分来构建基于网络的游戏?

【问题讨论】:

  • 您可以使用网络套接字来实现这一点。也许你应该看看 Node.js,一个快速的谷歌搜索出现了一个基于网络的多人游戏:rawkes.com/articles/… 玩得开心:)
  • 感谢您的意见。所以我不需要同时实现客户端和服务器,对吧?
  • 您绝对需要一个客户!您可以将浏览器视为一种用于编写您自己的客户端的框架和环境。

标签: javascript web server


【解决方案1】:

嗯,以一种正确的方式排序,不,因为你没有重新设计浏览器,但没有人会那样说。网页设计包括客户端(浏览器)上使用的大量代码/标记,当您的服务器向浏览器发送数据时,该数据是CSS, HTML, and JavaScript(以及图形等媒体,也许还有音乐)的混合体,浏览器是一个软件,一旦它收到它们,就会对这些部分进行提升。该数据由服务器选择,因此其逻辑在服务器上,但这是人们在 Web 应用程序上下文中所认为的“客户端设计”

还有许多模型(安排您的编程设计的方式)会导致代码更简洁,其中很多会向客户端(浏览器)发送一组信息(称为模型),然后浏览器会对如何使用该数据(称为视图)进行一些解释。这是一种简化,因为我认为您还没有准备好深入研究特定的理论,但您可以从 JavaScript 和 HTML 教程开始,然后学习服务器语言:

Python 是我的最爱,但 PHPJava 一样大(不要与 JavaScript 混淆),我以 C# 为生。确实有很多很棒的选择。

一位评论员推荐了Node.js,因为您会在服务器上使用带有Node 的JavaScript——就像客户端部分(您发送到浏览器的response 数据)一样。这是双重职责,但我偏爱 Python(正如我所说)。只要选择一些东西,当你学习的时候,你就会知道你喜欢什么。如果你改变语言,学习第二种语言会更容易。

【讨论】:

    【解决方案2】:

    是否可以仅使用一台服务器而不使用客户端部分来构建基于网络的游戏?

    不。你需要一个客户。

    无论您是在浏览器中还是在编写本机应用程序都没有关系。是的,浏览器为您解决了很多客户端问题——它为您实现了 HTTP,并且它具有您可以使用的显示 (CSS)、内容 (HTML) 和事件逻辑 (JavaScript)。但是您仍然需要使用这些技术编写您的客户端。

    即使浏览器在 javascript 中暴露了这样的调用:

    window.startPeterHwangsTetrisGame();
    

    你还有一个客户。客户端是1行代码,就是上面的脚本*。

    实际上,您应该寻找面向游戏的 Web 开发教程并从那里开始。


    *(除了存在该 javascript 的必要 HTML)

    【讨论】:

      猜你喜欢
      • 2016-02-24
      • 2015-07-12
      • 2015-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多