dictionary of dictionary serialization error?

Options
Sergiy
Sergiy
edited October 2012 in Photon Server
Hi

According to changelog:
PSCS-1007: Binary Serializer (GpBinary) - added support for dictionaries containing dictionaries

just tried to send to client variable of type Dictionary<int, Dictionary<byte, object>> and get following error while calling Service():

System exception was unhandled: deserialize(): 255
StackTrace:
at ExitGames.Client.Photon.Protocol.GetTypeOfCode(Byte typeCode) in c:\Dev\dotNet-sdks\PhotonDotNet\Protocol.cs:line 467
at ExitGames.Client.Photon.Protocol.DeserializeDictionary(MemoryStream din) in c:\Dev\dotNet-sdks\PhotonDotNet\Protocol.cs:line 1605
at ExitGames.Client.Photon.Protocol.Deserialize(MemoryStream din, Byte type) in c:\Dev\dotNet-sdks\PhotonDotNet\Protocol.cs:line 1239
at ExitGames.Client.Photon.Protocol.DeserializeDictionary(MemoryStream din) in c:\Dev\dotNet-sdks\PhotonDotNet\Protocol.cs:line 1614
at ExitGames.Client.Photon.Protocol.Deserialize(MemoryStream din, Byte type) in c:\Dev\dotNet-sdks\PhotonDotNet\Protocol.cs:line 1239
at ExitGames.Client.Photon.Protocol.DeserializeParameterTable(MemoryStream memoryStream) in c:\Dev\dotNet-sdks\PhotonDotNet\Protocol.cs:line 656
at ExitGames.Client.Photon.Protocol.DeserializeOperationResponse(MemoryStream memoryStream) in c:\Dev\dotNet-sdks\PhotonDotNet\Protocol.cs:line 593
at ExitGames.Client.Photon.PeerBase.DeserializeMessageAndCallback(Byte[] inBuff) in c:\Dev\dotNet-sdks\PhotonDotNet\PeerBase.cs:line 472
at ExitGames.Client.Photon.TPeer.DispatchIncomingCommands() in c:\Dev\dotNet-sdks\PhotonDotNet\TPeer.cs:line 260
at ExitGames.Client.Photon.PhotonPeer.DispatchIncomingCommands() in c:\Dev\dotNet-sdks\PhotonDotNet\PhotonPeer.cs:line 1013
at ExitGames.Client.Photon.PhotonPeer.Service() in c:\Dev\dotNet-sdks\PhotonDotNet\PhotonPeer.cs:line 938
at GBSSoft.BackGammon.TestClient.PhotonProxy.OnTimer(Object state) in d:\Projects\GBSSoft.BackGammon.Server\GBSSoft.BackGammon.TestClient\PhotonProxy.cs:line 83
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.TimerQueueTimer.CallCallback()
at System.Threading.TimerQueueTimer.Fire()
at System.Threading.TimerQueue.FireNextTimers()

Please also see attached snapshot. I'm using Photon Server SDK v3-0-37-3631 and DotNet SDK v3-0-1-13

Comments

  • Sergiy
    Options
    Right now I'm using a List<Dictionary<byte, object>> instead and it serializes to ArrayList at client side without any problem, but I'm just curious......
  • Kaiserludi
    Options
    Afaik currently only the server and the C++ and objective C clients support Dictionaries as values of Dictionaries.