Skip to content
Sockerl is an advanced Erlang/Elixir socket framework for TCP protocols and provides fast, useful and easy-to-use API for implementing servers, clients and client connection pools.
Branch: master
Clone or download
Pouriya-Jahanbakhsh Merge pull request #22 from eryx67/master
add connector_watchdogged flag
Latest commit 77570b6 Sep 5, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc Version 17.9.10 Sep 10, 2017
include add some default info Aug 31, 2017
priv/architectures Remove docs Jul 9, 2017
src add connector_watchdogged flag Sep 5, 2018
test Improve test Sep 2, 2017
.travis.yml Update Aug 31, 2017
LICENSE Add license Jul 8, 2017
README.html Update Sep 10, 2017 Update Sep 10, 2017
rebar.config Use director 17.9.10 Sep 10, 2017
rebar.config.script replace director's hex address to director's github address Aug 31, 2017

sockerl travis test status Hex version



Sockerl is an advanced Erlang/Elixir socket library for TCP protocols and provides fast, useful and easy-to-use API for implementing server, clients and connection pools.


  • In server, client and client pool implementation every connection has its own process and Sockerl provides useful and simple API for accessing them and sending data through them or sending Erlang message to them, closing them etc.

  • Every connection process can handle generic calls (requests that have made using gen_server:call/2-3 or gen:call/3-4), generic casts (requests that have made using gen_server:cast/2), generic events (messages in form of {'$gen_event', Event}), disconnecting (when other side closes connection), Erlang system messages, etc.

  • Acceptors and Connectors have been written as Special Erlang process and they are faster than gen_server, gen_fsm, etc.

  • Blocking and non-blocking sockets are supported.

  • SSL is supported too.

  • Connects to multiple addresses and has multiple connections to every address in client connection pools.

  • Add new Client(s) to existing pool.

  • Clean and human-understandable error outputs.

  • Accepts standard OTP sys debug options for Acceptors and Connections for generating clean debug output.

  • Simple API for controlling crash of connection processes.

All features not listed here.


See Wiki


BSD 3-Clause


This documentation is available in

You can’t perform that action at this time.