transport=polling - явно не websocket поэтому ошибка 500
у socket.io два протокола и оно вроде как само должно переключитьcя на WS, но можно и принудительно задать первым использовать websoket.
потом где то проскакивало, что и websoket какой то не такой у socket.io
почти все есть у них на сайте,
где то там
https://socket.io/docs/#Using-it-just-as-a-cross-b...