我需要一個CSV文件轉換成JSON格式,並將其發送到客戶端請求中的NodeJS WS服務器的WS服務器,如何將數據發送到客戶端進行客戶端請求中的NodeJS
該文件將更新很多次,所以我需要發送更新的數據到客戶端
我能夠發送數據,一旦它被完全加載(如當應用程序啓動它發送文件中的所有數據到客戶端),但當我更新數據文件更新後的數據正在控制檯上打印出來,但它沒有被髮送到客戶端是他們在我的代碼中的任何錯誤
my node.js code:
var ts = require('tail-stream');
var Converter = require("csvtojson").Converter;
var converter = new Converter({constructResult:false}); //for big csv data
var WebSocketServer = require('websocket').server;
var http = require('http');
var server = http.createServer(function(request, response) {
// process HTTP request. Since we're writing just WebSockets server
// we don't have to implement anything.
response.write('hello');
console.log('in http server \n');
});
server.listen(1337, function() { });
// create the server
wsServer = new WebSocketServer({
httpServer: server
});
// WebSocket server
wsServer.on('request', function(request) {
var connection = request.accept(null, request.origin);
console.log('wsserver');
connection.send('ws server');
converter.on("record_parsed", function (jsonObj) {
console.log(jsonObj); //here is your result json object
connection.send(jsonObj);
});
var tstream = ts.createReadStream('log.csv', {
beginAt: 0,
onMove: 'follow',
detectTruncate: false,
onTruncate: 'end',
endOnError: false
});
tstream.pipe(converter);
});
我們可以將已更新的記錄發送給客戶端嗎?已經連接新的連接 – Labeo
是嗎?不知道我明白你的問題 – cviejo
我的主要問題是,只有天氣,我們可以發送更新的數據給客戶與新的連接或請求到服務器 – Labeo