[ENet-discuss] What about a custom packet pattern?

Sergio Martin smartin at freedomfactorystudios.com
Thu Apr 14 07:13:35 PDT 2011


I ported enet to xbox 360 and ps3. That's the reason why I cannot be 
more specific (NDAs).

Currently, enet works on both flawlessly. It's just I cannot send voice 
data over standard UDP sockets, unfortunately.


El 14/04/2011 14:54, Ross Linder escribió:
> Yes I have been reading this thread and it does not make sense, Sergio it
> allmost sounds like you want to use Enet to send a customised UDP packet to a
> hardware device that is not running Enet.
>
> If this is the case I think you are on the wrong approach, you should just use
> raw sockets.
>
> If not then the format of the packet is not critical since you will encode and
> decode the data to be sent/received via Enet in your code. Changing Enet
> would still be the wrong approach IMO. Enet can be viewed as a transport
> system for your data.
>
> Regards Ross
> --
>
> On Thursday 14 April 2011 14:15:07 Daniel Aquino wrote:
>> What are you developing for?  Why does the device force you to follow this
>> approach?
>>
>> I wonder if just like there is win32.c and unix.c you could simply
>> implement your own backend which strips out the message part of the network
>> packet and passes that to enet.. This way you don't have to modify enet at
>> all..  Enet will build it's packet and send it to your custom backend where
>> you can wrap it in your desired format.
>>
>> As long as your packets aren't very large and your sending frequently you
>> shouldn't have to worry about fragmentation.
>>
>>
>>
>> On Thu, Apr 14, 2011 at 7:56 AM, Sergio Martin<
>>
>> smartin at freedomfactorystudios.com>  wrote:
>>> Hi,
>>>
>>>   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>>  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>
>>>>     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."
>>>
>>> _______________________________________________
>>> ENet-discuss mailing list
>>> ENet-discuss at cubik.org
>>> http://lists.cubik.org/mailman/listinfo/enet-discuss
>
>
> _______________________________________________
> ENet-discuss mailing list
> ENet-discuss at cubik.org
> http://lists.cubik.org/mailman/listinfo/enet-discuss


More information about the ENet-discuss mailing list