我正在编写一个消息分发系统。服务器是 ColdFusion (CF) 10,使用新的 <cfwebsocket> 功能集。客户端将使用 Delphi 2009 编写。
如果我在 ColdFusion 中编写客户端(使用 <cfwebsocket> 标签)一切正常:我可以在两个客户端之间发送消息。所以服务器端似乎正在工作。
Delphi 客户端没有这样的运气。到目前为止,我已经尝试了两个组件库(Delphi on Rails和sgcWebSockets)。两者似乎都建立了与 CF 服务器的连接,但没有发送或接收消息。我相当肯定 Delphi 正在与服务器建立连接,因为如果我指定正确的地址,则不会引发异常,而如果我指定不同的端口或 URI,则会出现异常。
我认为缺失的环节在于我对“渠道”的理解。在 CF 中这很容易:您指定要订阅或发送消息的频道并且它可以工作。但是“渠道”的概念似乎在 ColdFusion 之外并不存在。我搜索了 w3.org、Google 等,但在 HTML5 WebSocket 规范中没有看到太多关于频道的信息。一些参考资料,但不清楚,尤其是在示例中。
总之,我的问题:
- 是标准 WebSocket API 的“通道”部分,如果是,
- 如何使用我提到的 Delphi WebSocket 库之一订阅频道?不应该像 ws://[server]:[port]/[channel] 一样简单吗?
- 如何调试 CF 服务器上的 WebSocket 连接和流量?
非常感谢。这是我在 StackOverflow 上的第一篇文章;抱歉,如果它有点长。