

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

# 使用 Amazon GameLift Streams 设置 Web 服务器和客户端
<a name="setting-up-web-sdk"></a>

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

 如果您是第一次使用 Amazon GameLift Streams，我们强烈建议您从本教程开始，该[在 Amazon Streams 中开始您的第一个 GameLift 直播](streaming-process.md)教程将引导您完成将游戏上传到 Amazon S3，并在浏览器的 Amazon GameLift Streams 控制台中测试流式传输该游戏。

## 先决条件
<a name="setting-up-web-sdk-prereq"></a>
+ 具有适当编程访问凭证的 AWS 账户。有关更多信息，请参阅 [设置亚马逊 GameLift 以开发者身份直播](setting-up.md)。
+ AWS 开发工具包。
+ 亚马逊 GameLift Streams-supported 网络浏览器 — 请参阅[兼容 Amazon GameLift Streams 的设备和浏览器](compatible-devices-browsers.md)。
+ Node.js — 参见[Node.js 下载](https://nodejs.org/en/download)页面。

## 下载 Web SDK
<a name="setting-up-web-sdk-materials"></a>

在本教程中，您需要从 “[入门” 产品页面的 “资源” 部分下载以下材料](https://aws.amazon.com/gamelift/streams/getting-started/)：
+ **Amazon GameLift Streams Web SDK 套件**：其中包括简单后端服务和网络客户端的示例代码。
+ **Amazon GameLift Streams Web SDK API 参考**：此 API 参考文档记录了亚马逊 GameLift Streams API 的 JavaScript封装。

## 设置您的直播资源
<a name="setting-up-web-sdk-resources"></a>

必须有直播资源（应用程序和直播组）才能启动直播。具体而言，你必须：
+  处于 “**就绪**” 状态的应用程序。
+  处于**活动**状态且具有可用流容量的直播组。
+  要在主位置以外的其他位置进行流式传输，应用程序必须已完成向该位置的复制。

 要使用 Amazon Stream GameLift s 控制台或 Amazon Streams CLI 设置应用程序[在 Amazon GameLift Streams 中准备应用程序](applications.md)和 GameLift 直播组[使用 Amazon Stre GameLift ams 直播群组管理直播](stream-groups.md)，请分别参考和。或者，有关 Amazon GameLift Streams 控制台中的端到端演练，请参阅。[在 Amazon Streams 中开始您的第一个 GameLift 直播](streaming-process.md)

## 设置后端服务器
<a name="setting-up-web-sdk-backend"></a>

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

**重要**  
 此代码是仅用于测试和评估目的的示例代码，不应在生产能力中使用。

**运行示例后端服务**

1.  打开终端或命令提示符并导航到该文件夹`AmazonGameLiftStreamsWebSDK\GameLiftStreamsSampleGamePublisherService\`。

1.  运行以下 命令：

   ```
   npm install
   node server.js
   ```

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

## 启动 Web 客户端
<a name="setting-up-web-sdk-client"></a>

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

**注意**  
有关跨运行时环境支持 IPv6 的信息，请参阅[IPv6 支持](configuration-options.md#configuration-options-ipv6-support)。

**启动 Web 客户端应用程序**

1.  打开 Web 浏览器并导航至`http://localhost:{{port}}/`。端口号由后端服务器设置；默认情况下，这是 HTTP 端口 8000。

1. 玩游戏或使用软件。

   1. 要附加输入，例如鼠标，请选择 “**附加输入” **。

   1. 要退出游戏，请选择 ** Esc ** 键。

   1. 要停止服务器进程，请选择 ** Ctrl\+C 键**。

## 清理直播资源
<a name="setting-up-web-sdk-cleanup"></a>

**警告**  
 流媒体组在分配了流媒体容量时会产生费用，即使该容量未使用。为避免不必要的成本，请将您的直播群组扩展到所需的规模。我们建议您在开发期间将直播组中的永久在线容量和目标空闲容量在不使用时扩展到零。有关更多信息，请参阅[将直播组扩展到零容量](pricing.md#pricing-pause-stream-groups)。

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

**删除直播组 **

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

**使用 Amazon Stream GameLift s 控制台删除直播组**

1.  登录 AWS 管理控制台 并打开 [ Amazon GameLift Streams 控制台](https://console.aws.amazon.com/gameliftstreams/)。

1.  要查看现有直播群组的列表，请在导航窗格中选择**直播群组**。

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

1.  在直播群组详情页面上，选择**删除**。

1.  在 ** “**删除” 对话框中，确认删除操作。

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

**删除应用程序 **

 您只可删除符合以下条件的应用程序：
+  应用程序处于**就绪**或**错误**状态。
+  应用程序未在任何正在进行的流会话中进行流式传输。您必须等到客户端结束直播会话或调用 [ TerminateStreamSession ](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_TerminateStreamSession.html) Amazon Stre GameLift ams API 后才能结束直播。

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

**使用 Amazon GameLift Streams 控制台删除应用程序**

1. 登录 AWS 管理控制台 并打开 [ Amazon GameLift Streams 控制台](https://console.aws.amazon.com/gameliftstreams/)。

1. 在导航栏中，选择 “**应用程序” ** 以查看现有应用程序的列表。选择要删除的应用程序。

1. 在应用程序详细信息页面中，选择**删除**。

1. 在 ** “**删除” 对话框中，确认删除操作。

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