使用erlang被动处理接收报文

tonybuaa 2014-08-22
最近考虑使用erlang处理现有的一部分业务,现在是通过自己的硬件驱动从网络上接收报文,然后进行处理,最后再发送出去。这部分都是使用C语言开发,运行在linux上的。后面考虑将现有C语言开发的回调中收到的报文送到erlang的模块中进行处理,然后再通过C语言写的接口发送出去。所以就遇到了erlang和C进程互通的问题。
大概了解了一下erlang和C互通的问题。由于C语言写的这部分东西负责收发包,而且有自己独立的启动过程,所以根据我的理解不能使用open_port。open_port是要自己拉起一个C语言的执行文件并进行通信的,不知道这样理解是否正确。
其他方法,如CNode、UNIX域套接字,看起来好像可以做这个事情,不过还没有深入研究。所以想问一下,对于这种使用erlang被动处理报文的场景,有没有比较推荐的实现方法?
Global site tag (gtag.js) - Google Analytics