Я делаю игру. Клиент отправляет RPC серверу, говоря «переместите меня в этот экземпляр». Он работал нормально, пока я не перезапустил свой компьютер и не перезагрузил сервер узлов/базы данных и т. Д. Но теперь, если я дам ему строку, это не сработает, если я не дам ему строку и не объявляю ее в RPC, ТОЧНОЕ ОЗНАКОМЬТЕСЬ, это прекрасно работает. Строка, о которой идет речь, is zoneId.RPC не может принять строку?
Это RPC:
[RPC]
IEnumerator FindGameServerReq(uLobby.LobbyMessageInfo info, string zoneId)
{
Debug.Log("Client " + info.sender + " requested joinable game server.");
Debug.Log("Zone ID: " + zoneId);
var req = _instanceMgr.GetInstance(zoneId);
yield return req.WaitUntilDone();
var gameServerEndPoint = req.GetGameServerEndPoint();
Debug.Log("Informing " + info.sender + " to join game server " + gameServerEndPoint);
uLobby.Lobby.RPC("FindGameServerResp", info.sender, gameServerEndPoint);
}
Это, как я называю RPC:
uLobby.Lobby.RPC("FindGameServerReq", uLobby.LobbyPeer.lobby, "town");
А вот ошибка:
Exception: Can't read from BitStream because the type safe code 'String' should have been 'Object'
uLink.BitStream.#=qaJMtkufwOBTmus4Sj1oTtg== (BitStreamTypeCode #=q0kejgO9k7qY8elenFktRag==)
uLink.BitStream._ReadObject (uLink.BitStreamCodec codec, System.Object[] codecOptions)
#=qEcomxFqHWOojBhw7H8BPzzZhTr1DAnoBEQ62wyTQ$_s=.#=qGXSr2kjU4f7Ppc8kLs_Ngw== (uLink.BitStream #=qgXeDfPNYYMJmwReOvN7L$g==, System.Object #=quKCAMLPDCdyzEzH7UPZtmg==)
#=qI8pUof4AE4hEbRq3kz45z_BPBVKqHSPhJs4bLixooWQ=.#=q0c9j_kaqqCWqjUzT6CDHZQ== (uLink.BitStream #=qQILAgzJGastvZ9EIjYcBAA==, System.Object #=qIMGdUjbLteWVoYoL7pJv6Q==)
uLobby.Lobby.#=qn$OneteGV_YoF5_9aIgusg== (.#=q$FieuT6o10Me2og7rTqd9Q== #=qkk5WAgkwWtcicPRsMf4WhQ==, Boolean #=qHhcjKXvQyV_PqtKYVSZAqA==)
Очевидно, что строка должна быть string не объект. Пожалуйста, помогите, я попробовал ответы на единство, но почти невозможно получить ответ там, потому что их сайт немного оксюморон.
Эта проблема существовала в течение нескольких дней и до сих пор я не могу найти решение, кто-то может помочь. Я покинул лобби-сервер, работающий в течение дня, и он снова работал, пока я не перезапустил его, теперь проблема вернулась. – Jared