jfr*_*d00 21
从标准浏览器来看,这是不可能的.
从浏览器客户端,socket.io使用http或webSocket传输.这两个http和webSocket是TCP连接,而不是UDP连接.所以浏览器客户端socket.io不使用UDP  - 它使用TCP.
据我所知,在常规HTML页面Javascript中可以访问的浏览器中没有标准的UDP支持,因此您甚至无法真正尝试构建自己的使用UDP的层.
关于该主题的其他参考:
如何使用Web RTC发送UDP数据包 - Javascript?
当您希望尽快传递数据包时,UDP可能是某种情况下的理想传输,但如果无法立即传递,则只需删除它即可.这有时在游戏甚至视频流中很有用,其中下一个数据包只包含下一个更新,所以如果前一个数据包没有通过,那么没什么大不了的,你宁愿不让TCP尝试重新传输丢失的数据包.但是,浏览器不支持从网页Javascript使用UDP协议.
如果要从浏览器连接到UDP设备或服务器,则必须使用某种代理,以便浏览器代码可以通过TCP(http或webSocket)与代理通信,然后代理可以处理实际的UDP与设备通信.
可以使用来自node.js或其他一些非浏览器平台的socket.io库,并为您的平台中的本机UDP支持构建的socket.io编写自己的UDP传输加载项.我相信socket.io有一个可插拔的传输,所以你可以尝试自己的传输,然后配置客户端和服务器使用该传输.这在浏览器中是不可能的,因为浏览器中没有可以构建传输的基础UDP支持,但是在非浏览器环境(如node.js)中,您可以这样做.