我尝试从这里使用 Indy 10 组件,但 socket.io 服务器端说
debug: destroying non-socket.io upgrade
在互联网上搜索没有给出结果。
你有想法吗?
我在我的(部分)Indy 10 websockets 实现之上有一个工作版本的 Socket.io:http://asmprofiler.googlecode.com/svn/trunk/-Other-/IndyWebsocketDemo/
我需要做一些清理等工作,然后,我将上传一个新版本,包括 socket.io 支持。但是,一旦您使 WS 工作(请参阅上面的链接),这并不难,因此您可以在此期间自己尝试 :)
第一印象:这就像试图在水上运行内燃机。
当我查看 socket.io 时(并试图弄清楚它们是如何让事情停留在 node.js 维度上的),如果我理解正确,你应该能够使用(而不是)连接到 socket.io 服务器新)WebSockets 协议
我不知道 Indy 是否支持它,但你得到的错误确实解释了会发生什么:socket.io 期望得到一个 HTTP 请求,要求通过同一连接“升级”到 web-socket 协议。
为了让某些东西正常工作,我建议您使用 TTcpClient 并实现一个直接的 WebSockets 客户端,它可以首先使用 upgrade-to-websockets 请求触发 HTTP 请求。
(如果已经完成,我进行了快速搜索,但看起来不太好)