Login Page - Create Account

DTC Protocol Discussion Forum

Date/Time: Tue, 02 Jun 2020 05:08:48 +0000

DTC with JSON encoding

[2017-12-22 15:06:03]
Jose - Posts: 4 | Ending Date: 2018-01-04 [Expired]

Please help me because in the past two days I tried to solve JSON communication (from .NET C#) with DTC but in this moment I feel myself in an infinitive circle.

In SierraChart I set the DTC server encoding to JSON (with authorization is not required).
Related to this "Connection and Logon Sequence" description:
"If the Client knows the default encoding used by the Server, then it does not need to send an ENCODING_REQUEST message to the Server but it is preferred."
...for me it means I can skip the encoding part and I can step forward (to the point 3.)) to the LOGON_REQUEST.

My LOGON_REQUEST JSON text is this:
Is it okay or something is missing from it?

Originally .NET framework has the "Encoding.BigEndianUnicode" support but the DTC server is waiting for the message in "LittleEndian" encoding. I have found some interesting articles in this topic and if I understand well the differences between LittleEndian and BigEndian depends on my hardware. I have checked my computer architecture and that is LittleEndian (https://msdn.microsoft.com/en-us/library/system.bitconverter.islittleendian.aspx). ...so I think my message encoding is correct.

I sent all JSON messages with this encoding but however anything what I sent to DTC server then I got this error message:
DTC client #1. | Received message with an invalid size (1). | 2017-12-22 14:12:06 *
Can you help me what am I doing wrong?

Thanks in advance!
[2017-12-23 06:03:53]
DTC Engineering - Posts: 282 | Ending Date: 2015-09-08 [Expired]
Each JSON message needs to be encoded using 8-bit characters and needs to be null-terminated. Big endian and little endian is not relevant here.

Unicode is not supported.

As long as according to the documentation all of the fields which are required or you want to specify are included, then it is OK.
Date Time Of Last Edit: 2017-12-28 02:29:45
[2017-12-28 02:29:02]
DTC Engineering - Posts: 282 | Ending Date: 2015-09-08 [Expired]
We would like to know if post #2 was helpful and resolved the issue?
[2017-12-29 02:42:04]
Jose - Posts: 4 | Ending Date: 2018-01-04 [Expired]
Yes, it was very-very helpful! Thank you so much!!!
...especially these words saved me: needs to be null-terminated

Firstly I tried without ending char, after I used \n and \r\n but these could not help. Somehow I totally forgot the null-terminated string existence. Originally I encoded in UTF-8 but because of the unsuccessful tries I started to play with the different encodings, so this mixed me totally. Now with \0 ending in UTF-8 encoding everything works well! Thank you again!

ps.: Sorry for the late answer, it happened just because of the Christmas holiday :)
I wish you happy holidays and a Perfect New Year!!!
Date Time Of Last Edit: 2017-12-29 02:43:29
[2017-12-29 02:48:59]
DTC Engineering - Posts: 282 | Ending Date: 2015-09-08 [Expired]
This is good.

Happy holidays and new year.
[2017-12-29 02:55:31]
Jose - Posts: 4 | Ending Date: 2018-01-04 [Expired]
Thank you!

To post a message in this thread, you need to login with your Sierra Chart account:


Login Page - Create Account