亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在與客戶端連接并行工作的nodejs服務器中創建異步功能?

如何在與客戶端連接并行工作的nodejs服務器中創建異步功能?

開滿天機 2021-04-06 17:19:23
我正在嘗試在客戶端服務器應用程序中的線程的nodeJS中進行仿真,該線程以20ms的間隔修改數據以及偵聽器和發送器。lisener需要每1秒檢查一次來自服務器的數據,發送方在需要時向服務器發送一些信息。我嘗試創建服務器和連接客戶端以讀取數據的setInterval,但是似乎每次我連接客戶端時,服務器中的所有數據都會重置,而我的運行功能無法正常工作。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);這是我從現在開始的航站樓。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當我連接新客戶端時,我正在尋找繼續傳輸數據的方法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
查看完整描述

1 回答

?
森林海

TA貢獻2011條經驗 獲得超2個贊

run()函數代碼未發布,因此很難理解您的代碼的實際部分。

但是從您發布的代碼i中,服務器中的變量在每個連接上都設置為1,隨后在while / run循環中被修改。

如果要保留i套接字連接之間的值,則必須在net.createServer回調之外(在全局范圍內)定義它。


查看完整回答
反對 回復 2021-04-22
  • 1 回答
  • 0 關注
  • 148 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號