跟踪来自网络检查员的服务器推送消息
Posted
技术标签:
【中文标题】跟踪来自网络检查员的服务器推送消息【英文标题】:Tracking server push messages from web inspectors 【发布时间】:2012-04-25 00:26:01 【问题描述】:这个疑问其实源于我对 websockets 的一个疑问... Differences between socket.io and websockets
我在想为什么像 google Chrome 的/firebug/fiddler 这样的网络检查器在使用 websockets/channel-api 等推送技术时无法跟踪消息,(或者有没有办法做到这一点?) 这是因为我们正在从 http 升级连接吗?
【问题讨论】:
Chrome 开发工具在网络选项卡下对此进行了本机调试。 【参考方案1】:WebSockets 没有使用 HTTP 请求。 当您在 JS 中创建 WebSocket 时,浏览器会创建与服务器的 TCP Socket 连接,并且此连接被处理为基于流的(因为 TCP),当浏览器接收到足够的单个消息数据时,它会使用传递解帧数据的 onmessage 事件通知 WebSocket 对象。
从技术上讲,实现对所有传入消息的自己的跟踪并将它们放在控制台中应该不难。 但请注意,大多数可能使用 WebSockets 的复杂实时应用程序都有太多数据,这会极大地降低 Inspector 的速度,有时一秒钟内会收到数百条消息。
恕我直言,主流浏览器实现 WebSockets 日志记录系统以及允许显示必要消息的高级过滤是时间问题。
【讨论】:
【参考方案2】:Fiddler 确实 跟踪 WebSocket 消息,但由于它们不是 HTTP,它们不会直接呈现在 Session 列表中。见http://blogs.msdn.com/b/fiddler/archive/2011/11/22/fiddler-and-websockets.aspx
【讨论】:
【参考方案3】:此帖子的答案已过时。正如作者所说,这只是时间问题。 Chrome 现在有相当好的 WebSocket 检查日志记录
http://blog.kaazing.com/2012/05/09/inspecting-websocket-traffic-with-chrome-developer-tools/
【讨论】:
以上是关于跟踪来自网络检查员的服务器推送消息的主要内容,如果未能解决你的问题,请参考以下文章
来自 MobileFirst 服务器的安全或加密推送通知消息
如何在 GCP Pub/sub 中修复来自推送订阅的多条消息