message based socket library