исправления и попытка сделать универсальный сокет. наверное неудачная.