• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    nodejs簡單實現TCP服務器端和客戶端的聊天功能示例

    來源:懂視網 責編:小采 時間:2020-11-27 22:22:08
    文檔

    nodejs簡單實現TCP服務器端和客戶端的聊天功能示例

    nodejs簡單實現TCP服務器端和客戶端的聊天功能示例:本文實例講述了nodejs簡單實現TCP服務器端和客戶端的聊天功能。分享給大家供大家參考,具體如下: 服務器端 var net = require('net'); var server = net.createServer(); //聚合所有客戶端 var sockets = []; //接受新的客戶端連接
    推薦度:
    導讀nodejs簡單實現TCP服務器端和客戶端的聊天功能示例:本文實例講述了nodejs簡單實現TCP服務器端和客戶端的聊天功能。分享給大家供大家參考,具體如下: 服務器端 var net = require('net'); var server = net.createServer(); //聚合所有客戶端 var sockets = []; //接受新的客戶端連接

    本文實例講述了nodejs簡單實現TCP服務器端和客戶端的聊天功能。分享給大家供大家參考,具體如下:

    服務器端

    var net = require('net');
    var server = net.createServer();
    //聚合所有客戶端
    var sockets = [];
    //接受新的客戶端連接
    server.on('connection', function(socket){
     console.log('got a new connection');
     sockets.push(socket);
     //從連接中讀取數據
     socket.on('data', function(data){
     console.log('got data:', data);
     //廣播數據
     //每當一個已連接的用戶輸入數據,就將這些數據廣播給其他所有已連接的用戶
     sockets.forEach(function(otherSocket){
     if (otherSocket !== socket){
     otherSocket.write(data);
     }
     });
     //刪除被關閉的連接
     socket.on('close', function(){
     console.log('connection closed');
     var index = sockets.indexOf(socket);
     sockets.splice(index, 1);
     });
     });
    });
    server.on('error', function(err){
     console.log('Server error:', err.message);
    });
    server.on('close', function(){
     console.log('Server closed');
    });
    server.listen(4000);
    
    

    客戶端

    var net = require('net');
    var port = 4000;
    var quitting = false;
    var conn;
    var retryTimeout = 3000; //三秒,定義三秒后重新連接
    var retriedTimes = 0; //記錄重新連接的次數
    var maxRetries = 10; //最多重新連接十次
    process.stdin.resume(); //process.stdin流來接受用戶的鍵盤輸入,這個可讀流初始化時處于暫停狀態,調用流上的resume()方法來恢復流
    process.stdin.on('data', function(data){
     if (data.toString().trim().toLowerCase() === 'quit'){
     quitting = true;
     console.log('quitting');
     conn.end();
     process.stdin.pause();
     } else {
     conn.write(data);
     }
    });
    //連接時設置最多連接十次,并且開啟定時器三秒后再連接
    (function connect() {
     function reconnect() {
     if (retriedTimes >= maxRetries) {
     throw new Error('Max retries have been exceeded, I give up.');
     }
     retriedTimes +=1;
     setTimeout(connect, retryTimeout);
     }
     conn = net.createConnection(port);
     conn.on('connect', function() {
     retriedTimes = 0;
     console.log('connect to server');
     });
     conn.on('error', function(err) {
     console.log('Error in connection:', err);
     });
     conn.on('close', function() {
     if(! quitting) {
     console.log('connection got closed, will try to reconnect');
     reconnect();
     }
     });
     //打印
     conn.pipe(process.stdout, {end: false});
    })();
    
    

    希望本文所述對大家nodejs程序設計有所幫助。

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    nodejs簡單實現TCP服務器端和客戶端的聊天功能示例

    nodejs簡單實現TCP服務器端和客戶端的聊天功能示例:本文實例講述了nodejs簡單實現TCP服務器端和客戶端的聊天功能。分享給大家供大家參考,具體如下: 服務器端 var net = require('net'); var server = net.createServer(); //聚合所有客戶端 var sockets = []; //接受新的客戶端連接
    推薦度:
    標簽: 簡單 實現 nod
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 国产精品99久久久久久宅男| 无码国内精品人妻少妇| 亚洲综合国产精品第一页 | 国产精品久久久久无码av| 久久久无码精品亚洲日韩按摩| 亚洲av永久无码精品网站| 久久九九精品99国产精品| 国产成人精品视频一区二区不卡 | 久久久久无码精品| 一本一本久久A久久综合精品| 精品无码国产污污污免费网站| 国产精品久久久久久搜索| 93精91精品国产综合久久香蕉| 国产亚洲福利精品一区| 国产精品亚洲专区无码WEB| 久久久久久极精品久久久 | 亚洲国产精品自产在线播放| 午夜一级日韩精品制服诱惑我们这边| 亚洲精品无码av天堂| 亚洲?V无码乱码国产精品| 亚洲中文久久精品无码| 99久久精品影院老鸭窝| 国产在线精品一区二区三区不卡| 无码人妻精品一区二区三18禁| 99久久精品这里只有精品| 麻豆国内精品久久久久久| 国产精品成人观看视频免费| 日韩精品视频在线观看免费| 国内精品久久九九国产精品| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 无码人妻精品一区二区| 99久久精品国产一区二区| 日韩精品区一区二区三VR| 麻豆国内精品久久久久久| 国产成人精品免费视频大全| 欧洲精品色在线观看| 老湿亚洲永久精品ww47香蕉图片| 亚洲综合精品一二三区在线| 精品无码人妻一区二区三区| 日本aⅴ精品中文字幕| 无码精品久久一区二区三区|