thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Damian Rodziewicz <dam...@appsilon.pl>
Subject Re: Sending binary type using thrift from finagle client to node server
Date Wed, 17 Sep 2014 07:28:37 GMT
Hi,

I implemented a workaround to send the bytes in using string type. Does
anyone know why sending binary data does not work?

Cheers,

   *Damian Rodziewicz*
   Appsilon Co-founder
   +48 515 284 693 | damian@appsilon.pl

[image: More information about the company]
<http://appsilon.pl/contact.html>

On Mon, Sep 8, 2014 at 11:51 AM, Damian Rodziewicz <damian@appsilon.pl>
wrote:

> Hi,
>
> I am trying to set up connection between server written in node and a
> finagle client using thrift.
>
> Unfortunately binary data sent over to the node server is misread by the
> server. When sending data from javascript client the bytes are correct,
> however when I use finagle client all bytes over 127 are changed (results
> at the bottom of this email).
>
> You can download the sample project from:
> https://github.com/DamianRodziewicz/finagle-thrift-node
>
> and execute "sbt run" from finagle folder and "npm install; node
> server.js" from node folder to see results.
>
> I can use a workaround and send the bytes as a string, however I would
> like to know why something like this occurs? Do you have any suggestions? I
> can see that in thrift module from npm a following code exists:
>
> exports.readByte = function(byte){
> return byte > 127 ? byte-256 : byte;
> }
>
> Results:
>
> *Thrift file:*
> namespace java pl.binary.thrift
>
> struct BinaryUploadRequest {
>   1: string id;
>   2: binary blob;
> }
>
> service BinaryUpload {
>   void upload(1: BinaryUploadRequest request);
> }
>
> *Node server - finagle client:*
>
> Sending:
> 00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F  10  11  12
>  13  14  15  16  17  18  19  1A  1B  1C  1D  1E  1F  20  21  22  23  24  25
>  26  27  28  29  2A  2B  2C  2D  2E  2F  30  31  32  33  34  35  36  37  38
>  39  3A  3B  3C  3D  3E  3F  40  41  42  43  44  45  46  47  48  49  4A  4B
>  4C  4D  4E  4F  50  51  52  53  54  55  56  57  58  59  5A  5B  5C  5D  5E
>  5F  60  61  62  63  64  65  66  67  68  69  6A  6B  6C  6D  6E  6F  70  71
>  72  73  74  75  76  77  78  79  7A  7B  7C  7D  7E  7F  80  81  82  83  84
>  85  86  87  88  89  8A  8B  8C  8D  8E  8F  90  91  92  93  94  95  96  97
>  98  99  9A  9B  9C  9D  9E  9F  A0  A1  A2  A3  A4  A5  A6  A7  A8  A9  AA
>  AB  AC  AD  AE  AF  B0  B1  B2  B3  B4  B5  B6  B7  B8  B9  BA  BB  BC  BD
>  BE  BF  C0  C1  C2  C3  C4  C5  C6  C7  C8  C9  CA  CB  CC  CD  CE  CF  D0
>  D1  D2  D3  D4  D5  D6  D7  D8  D9  DA  DB  DC  DD  DE  DF  E0  E1  E2  E3
>  E4  E5  E6  E7  E8  E9  EA  EB  EC  ED  EE  EF  F0  F1  F2  F3  F4  F5  F6
>  F7  F8  F9  FA  FB  FC  FD  FE  FF
>
> Received:
> 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18
> 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31
> 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a
> 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63
> 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c
> 7d 7e 7f fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
> fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
> fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
> fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
> fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
> fd fd fd fd fd fd
>
>
> *Finagle server - finagle client:*
>
> Sending:
> 00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F  10  11  12
>  13  14  15  16  17  18  19  1A  1B  1C  1D  1E  1F  20  21  22  23  24  25
>  26  27  28  29  2A  2B  2C  2D  2E  2F  30  31  32  33  34  35  36  37  38
>  39  3A  3B  3C  3D  3E  3F  40  41  42  43  44  45  46  47  48  49  4A  4B
>  4C  4D  4E  4F  50  51  52  53  54  55  56  57  58  59  5A  5B  5C  5D  5E
>  5F  60  61  62  63  64  65  66  67  68  69  6A  6B  6C  6D  6E  6F  70  71
>  72  73  74  75  76  77  78  79  7A  7B  7C  7D  7E  7F  80  81  82  83  84
>  85  86  87  88  89  8A  8B  8C  8D  8E  8F  90  91  92  93  94  95  96  97
>  98  99  9A  9B  9C  9D  9E  9F  A0  A1  A2  A3  A4  A5  A6  A7  A8  A9  AA
>  AB  AC  AD  AE  AF  B0  B1  B2  B3  B4  B5  B6  B7  B8  B9  BA  BB  BC  BD
>  BE  BF  C0  C1  C2  C3  C4  C5  C6  C7  C8  C9  CA  CB  CC  CD  CE  CF  D0
>  D1  D2  D3  D4  D5  D6  D7  D8  D9  DA  DB  DC  DD  DE  DF  E0  E1  E2  E3
>  E4  E5  E6  E7  E8  E9  EA  EB  EC  ED  EE  EF  F0  F1  F2  F3  F4  F5  F6
>  F7  F8  F9  FA  FB  FC  FD  FE  FF
>
> Received:
> 80  01  00  01  00  00  00  06  75  70  6C  6F  61  64  00  00  00  00  0C
>  00  01  0B  00  01  00  00  00  02  49  44  0B  00  02  00  00  01  00  00
>  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F  10  11  12  13
>  14  15  16  17  18  19  1A  1B  1C  1D  1E  1F  20  21  22  23  24  25  26
>  27  28  29  2A  2B  2C  2D  2E  2F  30  31  32  33  34  35  36  37  38  39
>  3A  3B  3C  3D  3E  3F  40  41  42  43  44  45  46  47  48  49  4A  4B  4C
>  4D  4E  4F  50  51  52  53  54  55  56  57  58  59  5A  5B  5C  5D  5E  5F
>  60  61  62  63  64  65  66  67  68  69  6A  6B  6C  6D  6E  6F  70  71  72
>  73  74  75  76  77  78  79  7A  7B  7C  7D  7E  7F  80  81  82  83  84  85
>  86  87  88  89  8A  8B  8C  8D  8E  8F  90  91  92  93  94  95  96  97  98
>  99  9A  9B  9C  9D  9E  9F  A0  A1  A2  A3  A4  A5  A6  A7  A8  A9  AA  AB
>  AC  AD  AE  AF  B0  B1  B2  B3  B4  B5  B6  B7  B8  B9  BA  BB  BC  BD  BE
>  BF  C0  C1  C2  C3  C4  C5  C6  C7  C8  C9  CA  CB  CC  CD  CE  CF  D0  D1
>  D2  D3  D4  D5  D6  D7  D8  D9  DA  DB  DC  DD  DE  DF  E0  E1  E2  E3  E4
>  E5  E6  E7  E8  E9  EA  EB  EC  ED  EE  EF  F0  F1  F2  F3  F4  F5  F6  F7
>  F8  F9  FA  FB  FC  FD  FE  FF  00  00
>
> Thank you in advance for your help.
>
> Regards,
>    *Damian Rodziewicz*
>    Appsilon Co-founder
>    +48 515 284 693 | damian@appsilon.pl
>
> [image: More information about the company]
> <http://appsilon.pl/contact.html>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message