I am collecting a technical response to the tender, one of the requirements is the transmission of messages using an extensible format over a narrow bandwidth (10 bytes / sec or so). To make life easy on a server that will receive information from 1000 devices, I would like to use Xml. To solve the bandwidth issue, I could use compressed Xml, but the data comes from embedded devices that may not have omph to compress on the fly. Anyone has any better ideas, ideal would be a small extensible format that could be hyrdated in Xml as soon as messages were received in a narrow band.
Google Protocol Buffers
Protocol buffers are a way of encoding structured data in an efficient but extensible format. Google uses protocol buffers for almost all of its internal RPC protocols and file formats.
YAML is a very thin format, ideal for transferring serialized information between devices. Libraries exist for most programming languages, so the server can probably figure it out directly, and there is no need to convert to XML.
. , ASCII. , , , ? , , ASN.1. , .
, Google Apache Thrift . , , ( / ).
Apache Avro - .
, XML. XML- , "" XML ( , , , ..), XML , , JSON. / JSON , XML YAML . Avro Thrift Google Protocol Buffers , .
10 , , , , ; , , - protobuf, , , .
Source: https://habr.com/ru/post/1712194/More articles:is recv safe to pass to 0 to detect socket error? - c ++Do we have to approve every object creation in java? - javaIs using vim working on a file cache instead of the actual file? - vimHow to configure Artifactory using PostgreSQL instead of MySQL? - javaВосстановление состояния из событий данных временных рядов - language-agnosticPreserve spaces / line breaks during serialization through the ASMX web service - c #Unable to set property on "Identity" object because it is in read-only state - wpfHow can I add an ASP.NET control inside ASCX to an external RequiredFieldValidator programmatically? - c #What should be the first responder: my opinion or UIDatePicker? - cocoa-touchPainting over video in Qt widget - c ++All Articles