Initializes the socket, and restarts it if a known "safe" error occurs (see allowedErrors).
allowedErrors
@override Future<bool> init() async { await super.init(); return true; }