нестандартные XML -РП C C# - PullRequest
0 голосов
/ 13 июля 2020

Здравствуйте, программисты,

Мне нужно общаться с API на основе вызовов RP C со следующей структурой XML:

0x02<root>
   <dispatch>
      <module>MPAPI_RoomInformation</module>
      <function>getRoomData</function>
      <port>0</port>
      <cache_time>15</cache_time>
      <message_id>190</message_id>
   </dispatch>
   <payload status="OK">
      <root>
         <room>150</room>
      </root>
   </payload>
</root>0x03

Это не похоже на это соответствует любым спецификациям / стандартам XML -RP C, поэтому мой вопрос заключается в том, можно ли использовать такую ​​библиотеку, как http://www.xml-rpc.net/ или https://grpc.io/, для связи с этим API ? если нет, у вас есть какие-либо предложения?

Если для этого нет доступных библиотек, я понимаю, что RP C - это в основном HTTP-запросы, в этом случае тело, являющееся этим пользовательским XML, является правильно?

Спасибо

1 Ответ

0 голосов
/ 13 июля 2020

Насколько я понимаю, RP C - это в основном HTTP-запросы с, в данном случае, телом этого настраиваемого XML, верно?

RP C можно сделать разными способами; это может быть через тела HTTP, но это не обязательно случай; в вашем случае (глядя на спецификацию) это необработанный API-интерфейс сокета, который использует начальные и конечные контрольные точки для «кадрирования» (разделения разных сообщений), поэтому: вам необходимо ознакомиться с одним из:

  • необработанный Socket API
  • NetworkStream API
  • API «конвейеров»

Последний во многих отношениях самый простой (потому что он заботится обо всех деталях буфера, включая сохранение в обратном буфере неполных данных), но это еще не очень хорошо документировано. Эта 3-битная серия могла бы помочь, или вы могли бы предпочесть использовать более старые API и разобраться с этими деталями самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...