c# - Unity 在线多人游戏错误:连接已被对等方关闭,尝试协商集合点超时
问题描述
我正在使用 Unity 构建在线多人游戏。我使用“镜像”库。在本地使用“Telepathy”传输器开发了一段时间后(在我的计算机上打开两个实例),我决定继续使用 SteamWorks.NET 的“FizzySteamWorks”库作为传输器来进行 Steam 多人游戏。10 月 25 日,它奏效了。在这次成功之后,我继续添加功能等,但没有进行测试,因为我总是需要 Steam 多人游戏的实时 cobaye。我终于再次测试它,我在尝试连接到主机时在我的客户端上收到此错误“连接已被对等方关闭,超时尝试协商集合点”。我尝试修复它,不起作用。我回到我 25 日的承诺,我得到了同样的错误。错误来自 FizzySteamworks 库的文件,我将其复制粘贴到文件系统中,因此在我不知情的情况下无法更新。我不明白相同的代码如何在一周内从工作变为不工作,也许它来自 Steam ?或者来自被 git 忽略的文件?这是我的 .git ignore 的内容:
#
# Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
#
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Mm]emoryCaptures/
# Asset meta data should only be ignored when the corresponding asset is also ignored
!/[Aa]ssets/**/*.meta
# Uncomment this line if you wish to ignore the asset store tools plugin
# /[Aa]ssets/AssetStoreTools*
# Autogenerated Jetbrains Rider plugin
[Aa]ssets/Plugins/Editor/JetBrains*
# Visual Studio cache directory
.vs/
# Gradle cache directory
.gradle/
# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db
# Unity3D generated meta files
*.pidb.meta
*.pdb.meta
*.mdb.meta
# Unity3D generated file on crash reports
sysinfo.txt
# Builds
*.apk
*.unitypackage
# Crashlytics generated file
crashlytics-build.properties
以下是我的客户端控制台尝试连接时的屏幕:
我猜,最重要的回报是这样的信息
Connection was closed by peer, Timed out attempting to negotiate rendezvous
UnityEngine.Debug:Log (object)
Mirror.FizzySteam.NextClient:OnConnectionStatusChanged (Steamworks.SteamNetConnectionStatusChangedCallback_t) (at Assets/Mirror/Runtime/Transport/FizzySteamworks/NextClient.cs:137)
Steamworks.Callback`1<Steamworks.SteamNetConnectionStatusChangedCallback_t>:OnRunCallback (intptr) (at Assets/Mirror/Runtime/Transport/FizzySteamworks/Dependencies/Runtime/CallbackDispatcher.cs:291)
Steamworks.CallbackDispatcher:RunFrame (bool) (at Assets/Mirror/Runtime/Transport/FizzySteamworks/Dependencies/Runtime/CallbackDispatcher.cs:191)
Steamworks.SteamAPI:RunCallbacks () (at Assets/Mirror/Runtime/Transport/FizzySteamworks/Dependencies/Runtime/Steam.cs:112)
SteamManager:Update () (at Assets/Mirror/Runtime/Transport/FizzySteamworks/Scripts/Steamworks.NET/SteamManager.cs:169)
其次是错误说:
The connection attempt was cancelled.
UnityEngine.Debug:LogError (object)
Mirror.FizzySteam.NextClient/<Connect>d__26:MoveNext () (at Assets/Mirror/Runtime/Transport/FizzySteamworks/NextClient.cs:80)
System.Threading.CancellationTokenSource:Cancel ()
Mirror.FizzySteam.NextClient:Disconnect () (at Assets/Mirror/Runtime/Transport/FizzySteamworks/NextClient.cs:148)
Mirror.FizzySteam.NextClient:OnConnectionStatusChanged (Steamworks.SteamNetConnectionStatusChangedCallback_t) (at Assets/Mirror/Runtime/Transport/FizzySteamworks/NextClient.cs:138)
Steamworks.Callback`1<Steamworks.SteamNetConnectionStatusChangedCallback_t>:OnRunCallback (intptr) (at Assets/Mirror/Runtime/Transport/FizzySteamworks/Dependencies/Runtime/CallbackDispatcher.cs:291)
Steamworks.CallbackDispatcher:RunFrame (bool) (at Assets/Mirror/Runtime/Transport/FizzySteamworks/Dependencies/Runtime/CallbackDispatcher.cs:191)
Steamworks.SteamAPI:RunCallbacks () (at Assets/Mirror/Runtime/Transport/FizzySteamworks/Dependencies/Runtime/Steam.cs:112)
SteamManager:Update () (at Assets/Mirror/Runtime/Transport/FizzySteamworks/Scripts/Steamworks.NET/SteamManager.cs:169)
这是我从主机控制台获得的返回,它无论如何都不会通知失败。
解决方案
推荐阅读
- matlab - ECG 中的心率检测
- excel - 基于excel 2019中月份名称列的条件格式
- performance - 填充大量 3D 形状时 FMX ViewPort3D 性能下降
- node.js - 我找不到这可能是什么原因?也许是一个开放的连接?请解决
- postgresql - 如何在带有索引的 JSON-b 中使用 IN 进行搜索?
- android - 需要在 Room 中的两个日期之间获取结果,但返回 null
- javascript - 桌面和移动菜单的子菜单
- command - 命令窗口问题
- apache - Apache2.4 + WSGI + Bottle + Websocket + 烧杯
- amazon-web-services - Spring Cloud AWS 是否支持使用 Amazon S3 Buckets 大于 256 的 Amazon SNS 消息负载?