implementação do socket