问题
Is there any? Based on the ways the Event Socket Library (ESL) documentation (and FreeSWITCH books) refer to mod_event_socket, I was under the impression that mod_event_socket (src) (and derivatives, such as mod_erlang_event, mod_kazoo, etc.) are all built on libesl. As it turns out, only mod_esl (src) uses it.
The way I currently understand it, both tap into FreeSWITCH's event system to control it, but
- ESL is a C library (libesl) that can be used to build external applications, and extend programming languages (via mod_esl?) such as Perl, Python, etc., and
mod_event_socketet al. are modules providing network interfaces via an API similar to ESL (i.e.,mod_event_socketvia TCP,mod_erlang_eventandmod_kazoovia Erlang on top of TCP, etc.)
So they are disparate entities but follow a common (and implicit) API specification. Put it another way, there is an idea of how to interact with the event system from an external application, and it is independently implemented in ESL, mod_event_socket and co.
来源:https://stackoverflow.com/questions/59223156/what-is-the-relation-between-the-event-socket-library-esl-and-mod-event-socke