[zeromq-dev] Java to C++: junk appended to message?

Matt Weinstein matt_weinstein at yahoo.com
Tue Aug 31 13:56:58 CEST 2010


The last byte must be \0.

On Aug 30, 2010, at 2:30 PM, Naveen Chawla wrote:

> In C++ to C++, I was sending a message inited to 6 bytes containing  
> "Hello".
> In Java, the problem described persists even if, as per your
> suggestion, I send an extra character, e.g. "Hellox".
>
> On 30 August 2010 19:02, Pieter Hintjens <ph at imatix.com> wrote:
>> On Mon, Aug 30, 2010 at 7:29 PM, Naveen Chawla  
>> <naveen.chwl at gmail.com> wrote:
>>
>>> C++ to C++ works fine. Message is only "[Hello]"
>>
>> You're sending five bytes, 'Hello', which is not a valid C string as
>> required by the printf function.  Either send six bytes (string  
>> plus 0
>> byte) or else convert the received message data to a valid string.
>>
>> I've wondered if 0MQ should not automatically and always append a  
>> null
>> byte to received messages (not included in stated message size) so
>> that strings can be safely passed between C/C++ and other languages.
>>
>> -
>> Pieter Hintjens
>> iMatix - www.imatix.com
>> _______________________________________________
>> zeromq-dev mailing list
>> zeromq-dev at lists.zeromq.org
>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev




More information about the zeromq-dev mailing list