当我谈协议实现时,我谈些什么

当我谈协议实现时,我谈些什么

作为一个程序员,总免不了与一些平台对接他们包装了一层的协议,如 HTTP 协议,TCP 协议。

而我,作为一名阿里的 Elixir 程序员,更是用不了 Java,Python 的 SDK,而要自己来实现一次这些 SDK,如maga,奇门的协议,我已实现并提供了稳定的服务。

因此,有些许心得可以跟大家分享一下。

关于 HTTP 协议,有以下值得注意的:

  1. json encode 时,因为不同语言对 map 的实现是不一致的,如python 与 C++都有有序map(红黑树实现),无序 map(哈希实现),因此需要约定,如何对此 map 做 json encode,而很多时候,协议制定方是不清楚这个细节的。

  2. 当用 post 或者 get ,而要在 url params 里带参数时,http 协议对 对象 是没有一个规范的。因此需要跟协议制定方,约定好是做 json encode 还是其他。

top Created with Sketch.