使用 Amazon GameLift Streams 设置网络服务器和客户端 - Amazon GameLift 直播

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Amazon GameLift Streams 设置网络服务器和客户端

在本教程中,您将设置一个集成 Amazon GameLift Streams 流媒体服务的网络客户端应用程序。然后,您将使用 Amazon GameLift Streams Web SDK、一个 JavaScript 库和可以开始使用的示例代码。示例代码包括一个简单的 Amazon GameLift Streams 后端 Web 服务器和一个简单的 Web 客户端。在本教程结束时,您可以使用示例代码启动直播。

如果您是第一次使用 Amazon GameLift Streams,我们强烈建议您从本教程开始,该在 Amazon Streams 中开始你的第一个 GameLift 直播教程将引导您完成将游戏上传到 Amazon S3,并在浏览器中测试从 Amazon GameLift Streams 控制台中进行流式传输的过程。

先决条件

下载 Web 开发工具包

在本教程中,您需要从 “入门” 产品页面的 “资源” 部分下载以下材料:

  • Amazon GameLift Streams Web SDK 捆绑包:其中包括用于简单后端服务和网络客户端的示例代码。

  • Amazon GameLift Streams Web SDK API 参考:本 API 参考记录了 Amazon GameLift Streams 的 API 包装器。 JavaScript

设置您的直播资源

您必须拥有流资源(应用程序和直播组)才能启动直播。具体而言,你必须有:

  • 处于 “就” 状态的应用程序。

  • 处于活动状态且具有可用直播容量的直播组。

  • 要在主位置以外的其他位置进行流式传输,应用程序必须已完成向该位置的复制。

要使用 Amazon Stream GameLift s 控制台或 Amazon Streams CLI 设置应用程序在 Amazon GameLift Streams 中准备应用程序和 GameLift 直播组使用 Amazon Stre GameLift ams 直播群组管理直播,请分别参考和。或者,有关 Amazon GameLift Streams 控制台中的 end-to-end演练,请参阅。在 Amazon Streams 中开始你的第一个 GameLift 直播

设置后端服务器

后端服务器负责处理诸如对用户进行身份验证、配置直播参数以及代表最终用户执行 Amazon Stre GameLift ams 服务 API 调用之类的任务。查看示例代码和 Amazon GameLift Streams Web SDK API 参考,了解有关设置的更多信息。具体而言,请参阅 Amazon GameLift Streams Web SDK 包中的 server.js 文件。

重要

此代码是示例代码,仅用于测试和评估目的,不应在生产环境中使用。

运行示例后端服务
  1. 打开终端或命令提示符并导航到该文件夹AmazonGameLiftStreamsWebSDK\GameLiftStreamsSampleGamePublisherService\

  2. 运行以下 命令:

    npm install node server.js

运行示例后端服务后,最终用户可以通过 Web 客户端连接到直播。在下一步中测试 Web 客户端。

启动 Web 客户端

Web 客户端应用程序负责接收和解码 Amazon GameLift Streams 流、向最终用户进行流式传输,以及为最终用户提供与该应用程序互动的 Web 浏览器用户界面。查看示例代码和 Amazon GameLift Streams Web SDK API 参考,详细了解如何将 JavaScript Amazon GameLift Streams Web SDK 集成到您自己的网络客户端应用程序中。具体而言,请参阅 Amazon GameLift Streams Web 软件开发工具包public/index.html中的内容。在浏览器中启动 Web 客户端时,也可以查看网页源代码。

注意

Amazon Stre GameLift ams 中的 Windows 运行时支持通过 IPv4 或进行直播会话 IPv6。但是,Linux 和 Proton 运行时环境仅支持流式传输。 IPv4

启动 Web 客户端应用程序
  1. 打开 Web 浏览器并导航至http://localhost:port/。端口号由后端服务器设置;默认情况下,这是 HTTP 端口 8000。

  2. 玩游戏或使用软件。

    1. 要附加输入,例如鼠标,请选择附加输入

    2. 要退出游戏,请选择 Esc 键。

    3. 要停止服务器进程,请选择 Ctrl+C 键

清理直播资源

警告

流组在分配了流媒体容量时会产生成本,即使该容量未使用也是如此。为避免不必要的成本,请将直播组扩展到所需的大小。我们建议您在开发过程中将直播组中的永不使用容量扩展到零,或者使用按需容量。有关更多信息,请参阅将直播组扩展到零容量

完成本教程并且不再需要流式传输应用程序后,请按照以下步骤清理您的 Amazon GameLift Streams 资源。

删除直播组

当您删除直播组时,Amazon Stre GameLift ams 会释放所有直播容量。

使用 Amazon Streams 控制台删除 GameLift 直播组
  1. 登录 AWS Management Console 并打开 Amazon GameLift Streams 控制台

  2. 要查看现有直播组的列表,请在导航窗格中选择直播组

  3. 选择要删除的直播组的名称。

  4. 在直播组详情页面上,选择删除

  5. 在 “删除” 对话框中,确认删除操作。

Amazon GameLift Streams 开始释放计算资源并删除直播组。在此期间,直播组处于 “删除” 状态。Amazon Stream GameLift s 删除直播组后,您将无法再对其进行检索。

删除应用程序

您只可删除符合以下条件的应用程序:

  • 应用程序处于就绪错误状态。

  • 应用程序未在任何正在进行的流会话中进行流式传输。您必须等到客户端结束直播会话或在 Amazon Stre GameLift ams API TerminateStreamSession中调用才能结束直播。

如果应用程序链接到任何流组,则必须先将其与所有关联的流组取消链接,然后才能将其删除。在控制台中,对话框将引导您完成此过程。

使用 Amazon GameLift Streams 控制台删除应用程序
  1. 登录 AWS Management Console 并打开 Amazon GameLift Streams 控制台

  2. 在导航栏中,选择应用程序以查看现有应用程序的列表。选择要删除的应用程序。

  3. 在应用程序详细信息页面中,选择删除

  4. 在 “删除” 对话框中,确认删除操作。

Amazon GameLift Streams 开始删除该应用程序。在此期间,应用程序处于Deleting状态。在 Amazon GameLift Streams 删除应用程序后,您将无法再对其进行检索。