我让 socket.io 从服务器向客户端发送一个基本对象。这一点工作得很好。
\n\n现在想要使用事件流(特别是区块链查询的结果)将流从服务器发送到客户端。我在浏览器控制台中得到了意想不到的结果..
\n\n var io = require(\'socket.io\')(server);\n var dsteem = require(\'dsteem\')\n var es = require(\'event-stream\') \n var util = require(\'util\')\n var client = new dsteem.Client(\'https://api.steemit.com\')\n var stream = client.blockchain.getBlockStream()\n\n/* This sends results to stdout, fine\nio.on(\'connection\', function(socket){\n stream.pipe(es.map(function(block, callback) {\n callback(null, util.inspect(block) + \'\\n\') \n })).pipe(process.stdout);\n\n // And this sends a simple object to the client \n socket.emit(\'blockchainOps\', {"Foo!":"Doo!"} );\n});\n*/\n\n// Putting both together sends strange connection data to client\nio.on(\'connection\', function(socket){\n\n socket.emit(\'blockchainOps\', function() {\n\n stream.pipe(es.map(function(block, callback) {\n …Run Code Online (Sandbox Code Playgroud)