[ENet-discuss] What about a custom packet pattern?
Sergio Martin
smartin at freedomfactorystudios.com
Thu Apr 14 07:48:58 PDT 2011
It's not a problem of serialization, I need to customize the way packet
data is sent by enet. It's a requirement of this custom UDP protocol.
Of course the [game data] part of the packet will use serialization
(also encryption, compression, etc).
I hope this will clarify the matter.
El 14/04/2011 16:19, Jay Sprenkle escribió:
> I did the same thing (but for the pc).
> I answered a question about how I did the serialization here
> <http://stackoverflow.com/questions/5623791/c-network-serialization/5624996#5624996>
> <http://stackoverflow.com/questions/5623791/c-network-serialization/5624996#5624996>I
> use Separation of concerns
> <http://en.wikipedia.org/wiki/Separation_of_concerns> for my designs so
> I never looked a serialization as being part of enet
>
> On Thu, Apr 14, 2011 at 6:35 AM, Sergio Martin
> <smartin at freedomfactorystudios.com
> <mailto:smartin at freedomfactorystudios.com>> wrote:
>
> > What about all the other people that use enet?
>
> These change are only intended for my project.
> It's not like I'm going to commit to the enet CVS :D
>
> > Why don't you implement code to create packets and send them
> using enet.
>
> I have already a message class for that. But I need to send UDP
> packets in this very specific form over a custom network. Just to
> give you a clue, I'm not developing for the PC ;-)
>
>
> El 14/04/2011 13:27, Jay Sprenkle escribió:
>
> Sergio,
> The pattern you've chosen sounds fine.
> I don't think changing enet to meet your requirements is a good
> idea though.
> What about all the other people that use enet?
> Why don't you implement code to create packets and send them
> using enet.
> That's how it's intended to be used.
> It works just fine for me.
>
>
>
>
>
> On Thu, Apr 14, 2011 at 5:40 AM, Sergio Martin
> <smartin at freedomfactorystudios.com
> <mailto:smartin at freedomfactorystudios.com>
> <mailto:smartin at freedomfactorystudios.com
> <mailto:smartin at freedomfactorystudios.com>>> wrote:
>
> Hi,
>
> In order to meet our client custom network requirement, I
> need to
> send each UDP packet data as following:
>
> [ size_of_game_data ] [ game_data ] [ voice_data ]
>
>
> How difficult would be to modify ENet behaviour to meet that
> pattern?
> I'm not sure how to deal with ENet's packet fragmentation.
>
> I'm thinking of adding to ENetPacket struct two new variables:
> enet_uint8 * voiceData; /**< allocated voice
> data for
> packet */
> size_t voiceDataLength; /**< length of voice data */
>
> Change: enet_packet_create (const void * data, size_t
> dataLength,
> enet_uint32 flags)
> To this: enet_packet_create(const void * data, size_t
> dataLength,
> const void * voiceData, size_t voiceDataLength, enet_uint32
> flags)
>
> And then modify the rest of ENet to support it.
>
>
> Is this the correct approach?
>
>
> Best Regards,
> Sergio Martin.
>
> _______________________________________________
> ENet-discuss mailing list
> ENet-discuss at cubik.org <mailto:ENet-discuss at cubik.org>
> <mailto:ENet-discuss at cubik.org <mailto:ENet-discuss at cubik.org>>
> http://lists.cubik.org/mailman/listinfo/enet-discuss
>
>
>
>
> --
> ---
> "The great thing about Object Oriented code is that it can make
> small,
> simple problems look like large, complex ones."
>
>
>
>
> --
> ---
> "The great thing about Object Oriented code is that it can make small,
> simple problems look like large, complex ones."
More information about the ENet-discuss
mailing list