Hm interesting, that might be what I want to use. I’m building a custom network 
messaging system at the moment and basically want to be sending datagrams over 
tcp. I was shooting for the most basic strategy of sending a uint32 of data 
size, and then a sequence of bytes of that amount of data. Buffer looks like it 
will work for that.

Wes


> On Jul 17, 2015, at 4:56 PM, Tim Caswell <[email protected]> wrote:
> 
> By the way, there is a built-in Buffer class in luvit that ports most the 
> node.js Buffer methods including read/write of integers of various sizes.  It 
> works on mutable buffers instead of strings, but the buffers should convert 
> to strings properly when passing them to libuv APIs.
> 
> On Fri, Jul 17, 2015 at 3:29 PM, Wes Chow <[email protected] 
> <mailto:[email protected]>> wrote:
> write32 is perfect for my needs, thanks, and I was about to look for a 
> msgpack implementation for luvit too!
> 
> Wes
> 
> 
>> On Jul 17, 2015, at 4:20 PM, Tim Caswell <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> The libuv bindings assume all input is a lua string since lua strings are 
>> binary safe (they are just arrays of 8-bit data, nothing more).
>> 
>> If you want to send the single int8_t 25, you can do it with "\25" or "\x19" 
>> or string.char(25).  If you want larger integers you can either encode them 
>> by hand using the bit library or use luajit's ffi structs.
>> 
>> For example, here is encoding a 32-bit integer as 4 bytes 
>> https://github.com/creationix/msgpack-lua/blob/master/msgpack.lua#L27-L33 
>> <https://github.com/creationix/msgpack-lua/blob/master/msgpack.lua#L27-L33>
>> 
>> On Fri, Jul 17, 2015 at 2:29 PM, Wes Chow <[email protected] 
>> <mailto:[email protected]>> wrote:
>> I'm writing some networking code and would like to send an int as a sequence 
>> of binary bytes (not as a string). A socket:write(25) call appears to send 
>> the string '25'. In regular Lua I would use the struct module to convert 25 
>> into bytes and then send that, however it seems as if many of the standard 
>> libraries don't exist with luvit. What's a poor engineer to do?
>> 
>> Thanks,
>> Wes
>> 
>> 
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "luvit" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] 
>> <mailto:[email protected]>.
>> For more options, visit https://groups.google.com/d/optout 
>> <https://groups.google.com/d/optout>.
>> 
>> 
>> -- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "luvit" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/luvit/9E6tn59BNf0/unsubscribe 
>> <https://groups.google.com/d/topic/luvit/9E6tn59BNf0/unsubscribe>.
>> To unsubscribe from this group and all its topics, send an email to 
>> [email protected] 
>> <mailto:[email protected]>.
>> For more options, visit https://groups.google.com/d/optout 
>> <https://groups.google.com/d/optout>.
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "luvit" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] 
> <mailto:[email protected]>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.
> 
> 
> -- 
> You received this message because you are subscribed to a topic in the Google 
> Groups "luvit" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/luvit/9E6tn59BNf0/unsubscribe 
> <https://groups.google.com/d/topic/luvit/9E6tn59BNf0/unsubscribe>.
> To unsubscribe from this group and all its topics, send an email to 
> [email protected] 
> <mailto:[email protected]>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
You received this message because you are subscribed to the Google Groups 
"luvit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to