thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Damian Rodziewicz <dam...@appsilon.pl>
Subject Sending binary type using thrift from finagle client to node server
Date Mon, 08 Sep 2014 09:51:50 GMT
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