我有一个 erlang 服务器,它将通过 tcp 套接字与用 C 编写的客户端进行通信。是否有任何 C 库用于将 erlang 二进制术语解析为 C 结构?
我意识到这不是绝对必要的,但它会非常方便。
Erlang 和 C、erl_interface 和 C 节点之间的进程间通信有 C 库:
我制作了自己的: C/C++ 中的EPAPI (Erlang Port API)。非常易于使用,我提供了一个 Debian 存储库以便于更新。
PktHandler *ph = new PktHandler();
MsgHandler *mh = new MsgHandler(ph);
//Register a message type
// {echo, {Counter}}
mh->registerType(1, "echo", "l" );
//Wait for a message
Msg *m;
result = mh->rx(&m);
//Verify return code
if (result) {
//handle error
printf("ERROR, message: %s", mh->strerror());
// ...
}