Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 客户端连接时发生socket.io错误_Javascript_Node.js_Socket.io - Fatal编程技术网

Javascript 客户端连接时发生socket.io错误

Javascript 客户端连接时发生socket.io错误,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,我已在node.js安装上成功运行socket.io info - socket.io started 控制台显示其运行正常,但一旦客户端(浏览器)连接: socket = io.connect('<my host>:8000'); socket=io.connect(':8000'); 控制台正在排除一个错误: crypto.js:123 return new Hash(hash); ^ TypeError: undefined is not a fu

我已在node.js安装上成功运行socket.io

info  - socket.io started
控制台显示其运行正常,但一旦客户端(浏览器)连接:

socket = io.connect('<my host>:8000');
socket=io.connect(':8000');
控制台正在排除一个错误:

crypto.js:123
  return new Hash(hash);
         ^
TypeError: undefined is not a function
    at Object.createHash (crypto.js:123:10)
    at WebSocket.onSocketConnect (/node_modules/socket.io/lib/transports/websocket/hybi-16.js:120:23)
    at WebSocket.handleRequest (/node_modules/socket.io/lib/transport.js:71:10)
    at WebSocket.Transport (/node_modules/socket.io/lib/transport.js:31:8)
    at new WebSocket (/node_modules/socket.io/lib/transports/websocket/hybi-16.js:59:13)
    at new WebSocket (/node_modules/socket.io/lib/transports/websocket.js:31:17)
    at Manager.handleClient (/node_modules/socket.io/lib/manager.js:661:19)
    at Manager.handleUpgrade (/node_modules/socket.io/lib/manager.js:618:8)
    at Server.<anonymous> (/node_modules/socket.io/lib/manager.js:123:10)
    at Server.emit (events.js:88:20)
crypto.js:123
返回新哈希(Hash);
^
TypeError:undefined不是函数
在Object.createHash(crypto.js:123:10)
在WebSocket.onSocketConnect(/node_modules/socket.io/lib/transports/WebSocket/hybi-16.js:120:23)
在WebSocket.handleRequest(/node_modules/socket.io/lib/transport.js:71:10)
在WebSocket.Transport(/node_modules/socket.io/lib/Transport.js:31:8)
在新的WebSocket(/node_modules/socket.io/lib/transports/WebSocket/hybi-16.js:59:13)
在新的WebSocket(/node_modules/socket.io/lib/transports/WebSocket.js:31:17)
位于Manager.handleClient(/node\u modules/socket.io/lib/Manager.js:661:19)
在Manager.handleUpgrade(/node_modules/socket.io/lib/Manager.js:618:8)
在服务器上。(/node_modules/socket.io/lib/manager.js:123:10)
在Server.emit(events.js:88:20)
谁能理解这可能意味着什么


我的代码在我的本地计算机上运行良好,只有当将其移动到我的生产服务器时才会发生此错误。

结果表明,这是因为节点安装时带有该选项——不带ssl。这意味着它不安装socket.it所需的任何加密内容。我安装了openssl,重新安装了Node,并修复了它:)

您使用的是哪个版本的Node?当您执行socket.send(“我的消息”)时?您需要这样做。连接套接字时发送。请尝试查看此操作是否适用于生产服务器中的详细信息:
node-e'require(“crypto”).createHash(“sha1”)
,第123行不返回任何内容。是时候进行二等分了找到了5个月前改变它的提交。所以服务器上的任何东西也不是最新的。