erlang与python通讯-二进制格式

本文介绍了Erlang与Python之间通过二进制格式进行通信的方法。内容涉及二进制数据的序列化和反序列化,以及自定义的包体格式,包含4个字节的协议号和数据部分。在Erlang中,可以利用{packet, 4}进行处理,Python端则可能需要更复杂的序列化方案,如JSON。" 132903663,19671683,Scala编程:解决scala.Product.$init$V错误,"['Scala', '开发语言', '后端', '编程']
摘要由CSDN通过智能技术生成

二进制格式类似于C/S架构,需要双方语言实现二进制数据的序列化和反序列化,只要语言实现一致即可,整个数据流格式:2或4个字节包长度+包体erlang的封装和解码都可以使用diver的{packet,4}解决,比较方便

包体的格式
  • 自定义格式
    4个字节协议号+数据
    数据编码解码可以直接使用term_to_binary和binary_to_term,就是python端比较麻烦
  • 使用通用序列化
    比如json
erlang代码
start_link() ->
    gen_server:start_link({local, ?SERVER}, ?MODULE, [], []).

stop() ->
    gen_server:cast(?SERVER, 'stop').

twice(X) -> gen_server:call(?SERVER, {'$py_apply', {twice, X}}, 5000).
sum(X, Y) -> gen_server:call(?SERVER, {'$py_apply', {sum, X, Y}}, 5000).
%%%=======================================================&#
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值