do not override the end prototype, its called when the socket actually ends