node.js中socket.io和websockets之间有什么区别?
它们都是服务器推送技术吗?我觉得唯一的区别是,
socket.io允许我通过指定事件名称来发送/发送消息.
在socket.io的情况下,来自服务器的消息将到达所有客户端,但对于websockets中的相同内容,我被迫保留所有连接的数组并循环通过它以向所有客户端发送消息.
另外,我想知道为什么网络检查员(如Chrome/firebug/fiddler)无法从服务器捕获这些消息(来自socket.io/websocket)?
请澄清一下.
有没有办法或扩展,让我看到通过WebSocket的"流量"?出于调试目的,我想查看客户端和服务器请求/响应.
自从我在Mac OS El Capitan上从Chrome 58 => 59升级后,当我使用Dev Tools网络检查器查看WebSocket框架时,框架不再可见.我们构建了一个大量使用WS的应用程序,所以我非常依赖这个功能.
我想也许这可能是我们在应用程序中改变的 - 编码或协议可能导致它不显示,所以我在这里尝试了这个简单的测试:https://websocket.org/echo.html
这导致DevTools中没有显示任何框架,但套接字消息与应用程序一起正常工作.我问过其他几个人,其中一些人没有这个问题.
我想知道我是否有一个导致此问题的扩展,或者我是否有其他可能阻止帧显示的神秘设置?
我有一个使用安全网络套接字的应用程序,但我遇到了麻烦。
我想使用wireshark调试问题,但是我无法找出要放入wireshark来监视和显示使用HTTPS的安全Web套接字连接的正确参数。
有谁知道wireshark过滤器可以满足我的需要,是否需要做其他事情来使用wireshark监视安全的websocket?
我对 javascript 相当陌生,我几乎整天都在查看脚本,看看是否有办法嗅探 websocket 流量以进行调试和研究,或者用我自己的简单替换 websocket。
我试过用 Chrome 过滤并使用 fiddler,一切都以某种方式隐藏了流量。Wireshark 似乎抓住了一些双方都找不到的东西,但至少对不熟悉十六进制的我来说是胡言乱语。
但是,我真的很想知道是否可以在 javascript 中扩展像 Websocket 这样的东西,这样说当它使用像 Greasemonkey 这样的东西创建时,我可以“扩展”它,以便它继续做它应该做的事情,但也做额外的工作。
例如,是否可以在 Greasemonkey 中扩展以下 websocket,以便 onMessage(evt) 继续写入屏幕,但随后我可以添加警报(消息);?? 这将是更可取的,然后说看交通。注意我无法更改源文件。
谷歌浏览器没有识别亚特兰蒂斯之龙等游戏的网站 websocket,操作是 ajax 帖子,但聊天是一个 websocket,可以在 flash 参数中找到。
<!DOCTYPE html>
<meta charset="utf-8" />
<title>WebSocket Test</title>
<script language="javascript" type="text/javascript">
var wsUri = "ws://echo.websocket.org/";
var output;
function init()
{
output = document.getElementById("output");
testWebSocket();
}
function testWebSocket()
{
websocket = new WebSocket(wsUri);
websocket.onopen = function(evt) { onOpen(evt) };
websocket.onclose = function(evt) { onClose(evt) };
websocket.onmessage = function(evt) { onMessage(evt) …Run Code Online (Sandbox Code Playgroud) websocket ×6
firebug ×2
browser ×1
greasemonkey ×1
javascript ×1
node.js ×1
socket.io ×1
wireshark ×1