самым простым решением будет вынести сокет в класс и реализовать singleton шаблон
инициализировать его в Application классе, либо при первой нужде
если хочешь нормально, я бы сделал Service и обрабатывал все ответы через него. Если тебе по команде сервера нужно открыть какой-то экран, или что-то показать
сервер не знает, на каком экране ты точно находишься, и сможешь ли обработать его запрос, поэтому так логичнее
Можно подробнее про service?
От сервера мне нужно только 3 вещи:
1. отправлять ему текст в чате(мои сообщения собеседнику)
2. принимать от него текст в чате(ответ собеседника мне)
Они происходят в 1 фрагменте, где интерфейс беседы
3. принимать сообщения в списке чатов. Знаете, когда чат не открыл, но видишь, иконки всех своих чатов и последние сообщения в них