Я прочитал код и не могу сказать, в чем именно заключается проблема, но я дам несколько советов
в методе пользовательского кода сервера createServer
вместо server
в
var server = http.Server(app);
в клиентском коде попытайтесь отложить (остановить) использование любого метода на сокете для следующего тика в цикле событий, используя ложный не-смысл setTimeout, такой как
.... new Socket
.... setTimeout (() => {... socket.emit}, 0)
, поскольку это гарантирует, что сокет хорошо подключен, и вы не использовали emit на-ready socket
Я однажды попробовал использовать socket.IO в реакции-нативе, он прекрасно работает тогда. Интересно, что может пойти не так в вашем случае!
Попробуйте хотя бы сПример приложения меньшего размера, а затем выясните, есть ли какие-либо проблемы с этим.
и совет ... проверьте Rocket.chat, и, если вы сочтете это подходящим, я могу помочь вам с радостью собрать клиента