Multiplex 传输本身不是传输,但它允许您组合其他传输,以便您的客户端可以通过其中任何一个连接到您的服务器。
Multiplex Transport 的一个常见用例是服务器同时监听 WebGL 和移动/桌面客户端。您的 WebGL 客户端可以使用 Websocket 传输连接到服务器,而您的移动或桌面客户端可以通过 TCP 或 UDP 传输连接到同一服务器。您可以在 Multiplex Transport 中配置任意数量的传输。
要使用多重传输,请执行以下步骤:
- 如果您还没有这样做,请将带有 Network Manager 的游戏对象添加到您的场景中。
- 默认情况下,Mirror 会将 KCP Transport 添加到您的 Network Manager 游戏对象。
- 将 Multiplex Transport 组件添加到游戏对象
- 在Network Manager的传输字段中分配Multiplex Transport组件
- 将 Websocket Transport 组件添加到游戏对象
- 将 KCP Transport 组件添加到 Multiplex Transport 作为第一个传输
- 将 Websocket Transport 组件添加到 Multiplex Transport 作为第二个传输
请注意,KCP 和 Websocket Transport 不能监听同一个端口。默认情况下,KCP 监听 7777 (UDP) 而 websocket 传输监听 7778 (TCP)。
如果您将游戏构建为 WebGL 游戏,则会跳过 KCP 传输,您的客户端将使用 websocket 传输。如果您将游戏构建为移动或桌面应用程序,它将选择 KCP Transport。服务器将愉快地接受来自两者的连接。
以下是配置应如下所示: