【Unity】MagicOnion + MemoryPackで System.IO.IOException: The request stream was aborted.
環境
クライアント- Unity 2022.3.7f1
- MagicOnion 6.0.0
- MemoryPack 1.10.0
サーバー
- .NET 7.0
- MagicOnion.Server 5.1.8
- MagicOnion.Serialization.MemoryPack 5.1.8-preview
- MemoryPack 1.10.0
本題
[MemoryPackable]をつけ忘れた引数型を含むサーバーメソッドをコールすると、サーバー側で「System.IO.IOException: The request stream was aborted.」が発生することがありました。本来[MemoryPackable]をつけ忘れた場合はコールした時点でクライアント側で「MemoryPack.MemoryPackSerializationException : XXX is not registered in this provider」が発生しますが、この時はなぜか発生しませんでした。
100%再現するわけではありませんが、一度再現すると[MemoryPackable]をつけるまで100%再現していました。
TestRunnerでの単発コールでも再現したので、他の通信が切れただけというのも考えにくいです。
記事作成時点では再現しなくなったので詳しく検証できませんでしたが、同じ現象を踏んだ人の参考になれば......