我正在嘗試在客戶端服務(wù)器應(yīng)用程序中的線程的nodeJS中進(jìn)行仿真,該線程以20ms的間隔修改數(shù)據(jù)以及偵聽器和發(fā)送器。lisener需要每1秒檢查一次來自服務(wù)器的數(shù)據(jù),發(fā)送方在需要時向服務(wù)器發(fā)送一些信息。我嘗試創(chuàng)建服務(wù)器和連接客戶端以讀取數(shù)據(jù)的setInterval,但是似乎每次我連接客戶端時,服務(wù)器中的所有數(shù)據(jù)都會重置,而我的運(yùn)行功能無法正常工作。function sleep(time) { return function (callback) { setTimeout(function(){ console.log(time); callback(); }, time); }}var server = net.createServer(function (socket) { var i = 1; var totalTime = 1000; var time = 20; while (time<totalTime){ run(function*(){ i++; yield sleep(20); console.log("modified datas!"+ i); }); time +=20; } socket.write('write to client\r\n'); socket.pipe(socket);});server.listen(1337, '127.0.0.1');setInterval( function () { var net = require('net'); var client = "1"; var i = 0; var client = new net.Socket(); client.connect(1337, '127.0.0.1', function () { console.log('Connected'); // client.write("Send from client"); }); client.on('data', function (data) { console.log('DATAS IN CLIENT:::: ' + data); i++; if (i == 2) client.destroy(); // client.destroy(); // kill client after server's response }); client.on('close', function () { console.log('Connection closed'); }); }, 6000);這是我從現(xiàn)在開始的航站樓。ConnectedDATAS IN CLIENT:::: write to client20modified datas!5020modified datas!5020modified datas!5020modified datas!5020modified datas!50...ConnectedDATAS IN CLIENT:::: write to client20modified datas!5020modified datas!5020modified datas!5020modified datas!5020modified datas!50當(dāng)我連接新客戶端時,我正在尋找繼續(xù)傳輸數(shù)據(jù)的方法ConnectedDATAS IN CLIENT:::: write to client20modified datas!120modified datas!220modified datas!320modified datas!520modified datas!6...ConnectedDATAS IN CLIENT:::: write to client20modified datas!720modified datas!820modified datas!920modified datas!1020modified datas!11
如何在與客戶端連接并行工作的nodejs服務(wù)器中創(chuàng)建異步功能?
開滿天機(jī)
2021-04-06 17:19:23