Hello community,
I am developing a distributed Hololens based network application, where clients are locally connected to the same netwrok and share the same physical environment. I am using Mirror for handling the entire sync of virtual simulation. This far no issues at all, but I have one problem to solve and would like to know which is the best approach.
Just once per session, I need all participants to share a relatively large byte[] (approximately 20/30MB) containing information for aligning the various augmented objects. This step is quite crucial and the data contained in this byte array changes at each session, and must be distributed among all memebers.
My first approach has been to send a custom NetworkMessage containing a byte[] as property through NetworkServer.Send or NetworkClient.Send. However, I have been issued the warning:
NetworkConnection.ValidatePacketSize: cannot send packet larger than 298449 bytes, was 23054208 bytes
So my question is, which is the best approach to send such a large amount of data?
I had the system working with a custom c# socket implementation, but I would prefer to keep it straightforward and use the MirrorAPI and one of its transports. Are there any methods I can use which automatically fragment my byte[] into packets and have them rebuild on the other side? Should I implement such a beheviour myself? Any suggestion, or link to material is greatly appreciated. Many Thanks!!