2017-10-14 11 views
0

node.jsサーバーからのデフォルトのコンソール出力をユーザークライアントに表示できますか?
私はいくつかのプラグインを試しました。 'console.re'しかし、私のために働いた人はいません。ノードJS読み取りディスプレイユーザーのデバイス上のコンソール出力

私はリアルタイムで 'console.log'の出力を読んで、すべての出力をクライアント(モバイルデバイス)に表示するのが好きです。

おかげ

答えて

0

にconsole.logはstdoutに書き込み、あなたはそれに耳を傾け、データを何でも行うことができます。改行でstdoutに

はconsole.log([データ] [引数])

プリント。

https://nodejs.org/api/console.html

このコードを進めてみてください。

const spawn = require('child_process').spawn 
const ls = spawn('ls', ['-lh', '/usr']) 
const collectedData = [] 

ls.stdout.on('data', (data) => { 
    console.log('stdout: ' + data.toString()) 
    collectedData.push({ event: 'CONSOLE_LOG', data }) 
    // now just make the client consume collectedData in real-time 
    // or on refresh 
}) 

ls.stderr.on('data', (data) => { 
    console.log('stderr: ' + data.toString()) 
}) 

ls.on('exit', (code) => { 
    console.log('child process exited with code ' + code.toString()) 
}) 

子プロセスを内蔵しています、ここでこれらのドキュメントを介して試料を取る:。 ​​

を私はについては何も知りませんあなたのセットアップが、Expressで簡単にしたい場合

app.get('/logging', (req, res) => { 
    res.send(collectedData) 
}) 

クライアントが2000ミリ秒ごとにヒットするようにします。

それ以外の場合は、サーバーでソケットを作成し、クライアントに更新をプッシュしてクライアントで処理する必要があります。 node.js.で

することはできセットアップTCPとUDPソケットはかなり速いもいくつかのグーグルをしてください。

私はあなたを与えることができるいくつかのサンプルコードを持っている:

/** 
* SERVER 
*/ 

// Load dgram module 
const dgram = require('dgram') 
// Create new socket 
const server = dgram.createSocket('udp4') 

// Listening event 
server.on('listening',() => console.log('UDP Server listening')) 
// Message event 
server.on('message', (msg, rinfo) => { 
    console.log(`${rinfo.address}:${rinfo.port} - ${msg}`) 
}); 

// Start UDP socket listener 
const PORT = 3333 
const HOST = '127.0.0.1' 
server.bind(PORT, HOST) 

/** 
* CLIENT 
*/ 

const client = dgram.createSocket('udp4') 
const ip = require('ip') 

client.send('Sample message', PORT, HOST, (err) => { 
    if (err) throw err 
    console.log(`UDP message sent: ${ip.address()}`) 
    client.close() 
}) 
関連する問題