use SockJS for wider compatibility