最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

websocket+node.js實(shí)現(xiàn)實(shí)時(shí)聊天系統(tǒng)問題咨詢

 更新時(shí)間:2017年05月17日 14:32:56   作者:蘇黎世寶貝  
最近新學(xué)習(xí)websocket,做了一個(gè)實(shí)時(shí)聊天。用Node.js搭建的服務(wù):serevr.js. 兩個(gè)相互通信頁面:client.html 和server.html 但是就是有很多問題,下面通過本文給大家分享下

1.最近新學(xué)習(xí)websocket。做了一個(gè)實(shí)時(shí)聊天。用Node.js搭建的服務(wù):serevr.js. 兩個(gè)相互通信頁面:client.html 和server.html

但是就是有很多問題,想讓知道的人幫我看看哈:

我先把代碼貼出來:

server.js:

var ws=require("nodejs-websocket");
 console.log("開始建立連接...");
 var str1=null,str2=null, clientReady=false,serverReady=false;
 var server=ws.createServer(function(conn){
   conn.on('text',function(str){
     console.log(str);
     /**
      * 用戶小雨第一次連接
      */
    if(str==="小雨"){
       str1=conn;
       clientReady=true;
       str1.sendText("歡迎"+str); 
    }
    /**
     * 用戶小喬第一次連接
     */
    if(str==="小喬"){
       str2=conn;
       serverReady=true;
      str2.sendText("歡迎"+str);
    }
    /**
     * 當(dāng)有第二個(gè)用戶連接時(shí)。
     */
     if(clientReady&&serverReady){
      str2.sendText(str);
      str1.sendText(str);
    }
   })
   conn.on("close",function(code,reason){
     console.log("關(guān)閉連接");
   })
   conn.on("error",function(code,reason){
     console.log("異常關(guān)閉")
   });
 }).listen(8082);
 console.log("websocket連接完畢")
client.html:
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <style>
    .kuang{
      width: 600px;
      min-height: 50px;
      max-height:296px;
      border:1px solid;
      float: left;
      display: block;
      position:relative;
      overflow-y: scroll;
    }
    .value{ 
      width: 200px;
    }
    .input{
      display:block;
      position: absolute;
      left:0;
      margin-top: 300px;
    }
  </style>
</head>
<body>
  <label>連接用戶:</label>
  <input type="text" id="name" value="小雨" readonly/>
  <button id="conn">連接</button>
  <button id="close">斷開</button><br/><br/>
  <div class="kuang" id="mess"></div>
  <div class="input"> 
  <input type="text" class="value" id="value1" />
  <button id="send">發(fā)送</button>
  </div>
  <script>
    var name=document.getElementById("name").value;
    var mess=document.getElementById("mess");
    var value1=document.getElementById("value1");
    var conn= document.getElementById("conn");
    var close=document.getElementById("close");
    close.disabled=true;
    if(window.WebSocket){
     conn.onclick=function(){
      var ws=new WebSocket('ws://127.0.0.1:8082');
      conn.disabled=true;
      close.disabled=false; 
       ws.onopen=function(e){
          console.log("連接服務(wù)器成功"); 
           ws.send(name);
      } 
    ws.onmessage=function(e){
      var time=new Date();
      mess.innerHTML+=time.toUTCString()+":"+e.data+"<br>";
      document.getElementById("send").onclick=function(e){
        ws.send(name+"說:"+value1.value);
        value1.value=" ";
      }
      document.onkeydown = function(e) {
        e = e || window.event;
        if(e.keyCode == 13) {
           document.getElementById("send").onclick();
          return false;
        }
      }  
    }
    /**
     * 客戶端主動(dòng)斷開連接
     * 
     * **/ 
    close.onclick=function(){
      ws.onclose();
      conn.disabled=false;
      close.disabled=true; 
    }  
     ws.onclose = function(e){
       console.log("服務(wù)器關(guān)閉");
     } 
    ws.onerror = function(){
      console.log("連接出錯(cuò)");
    }
    }  
  }
  </script>
</body>
</html>

server.html 頁面和client.html的代碼一樣,就是用戶名字換成小喬啦。

接下來就是問題啦:

1.運(yùn)行界面:

  client.html  連接以后:

本來服務(wù)器只需要回傳一個(gè)歡迎小雨的,然后下面還輸出了一個(gè)。

server.html  小喬連接以后也出來了一個(gè)小喬,按理是歡迎小喬。然后告訴小喬小雨在線了。

2.兩個(gè)頁面代碼一樣,但是就是不能只變成一個(gè)頁面,硬要兩個(gè)才能聊天。

3.server.js那邊邏輯有點(diǎn)問題,一直理不清楚。

以上所述是小編給大家介紹的websocket+node.js實(shí)現(xiàn)實(shí)時(shí)聊天系統(tǒng)問題咨詢,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Node.js成為Web應(yīng)用開發(fā)最佳選擇的原因

    Node.js成為Web應(yīng)用開發(fā)最佳選擇的原因

    本篇文章給大家詳細(xì)分析了Node.js 成為 Web 應(yīng)用開發(fā)最佳選擇的十個(gè)原因,對此有需要的朋友參考下。
    2018-02-02
  • Node.js項(xiàng)目中調(diào)用JavaScript的EJS模板庫的方法

    Node.js項(xiàng)目中調(diào)用JavaScript的EJS模板庫的方法

    這篇文章主要介紹了Node.js項(xiàng)目中調(diào)用JavaScript的EJS模板庫的方法,通過EJS模板引擎可以制作出維護(hù)性良好的HTML代碼結(jié)構(gòu),需要的朋友可以參考下
    2016-03-03
  • node.js中的path.isAbsolute方法使用說明

    node.js中的path.isAbsolute方法使用說明

    這篇文章主要介紹了node.js中的path.isAbsolute方法使用說明,本文介紹了path.isAbsolute的方法說明、語法、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • Node.js中代碼重復(fù)與不一致的問題及解決方案

    Node.js中代碼重復(fù)與不一致的問題及解決方案

    在 Node.js 開發(fā)中,代碼重復(fù)和不一致是常見的問題,尤其是在項(xiàng)目規(guī)模擴(kuò)大和團(tuán)隊(duì)協(xié)作時(shí),這些問題不僅會(huì)增加維護(hù)成本,還可能導(dǎo)致邏輯錯(cuò)誤和性能問題,本文將探討這些問題的常見原因,并提供相應(yīng)的解決方案,需要的朋友可以參考下
    2025-03-03
  • 關(guān)于Mac下安裝nodejs、npm和cnpm的教程

    關(guān)于Mac下安裝nodejs、npm和cnpm的教程

    本文通過圖文并茂的形式給大家介紹了Mac下安裝nodejs、npm和cnpm的教程,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2018-04-04
  • node后端服務(wù)?;畹膶?shí)現(xiàn)

    node后端服務(wù)保活的實(shí)現(xiàn)

    這篇文章主要介紹了node后端服務(wù)保活的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 詳解Nodejs 部署到阿里云全過程

    詳解Nodejs 部署到阿里云全過程

    這篇文章主要介紹了詳解Nodejs 部署到阿里云全過程,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-06-06
  • 詳解node Async/Await 更好的異步編程解決方案

    詳解node Async/Await 更好的異步編程解決方案

    這篇文章主要介紹了詳解Async/Await 更好的異步編程解決方案,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • Nodejs實(shí)現(xiàn)多房間簡易聊天室功能

    Nodejs實(shí)現(xiàn)多房間簡易聊天室功能

    本文通過實(shí)例代碼給大家介紹了Nodejs實(shí)現(xiàn)多房間簡易聊天室功能,需要的朋友參考下吧
    2017-06-06
  • nodejs代碼執(zhí)行繞過的一些技巧匯總

    nodejs代碼執(zhí)行繞過的一些技巧匯總

    這篇文章主要給大家介紹了關(guān)于nodejs代碼執(zhí)行繞過的一些技巧,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04

最新評論

伊宁县| 岢岚县| 南阳市| 卢湾区| 阿克苏市| 喀什市| 邵东县| 民勤县| 利津县| 伽师县| 广平县| 密云县| 调兵山市| 定南县| 莫力| 班戈县| 新晃| 逊克县| 昌吉市| 新干县| 行唐县| 清苑县| 柘城县| 泸定县| 鹿邑县| 青海省| 宜昌市| 宁陕县| 临夏县| 大兴区| 曲松县| 沁源县| 密山市| 图木舒克市| 女性| 阿勒泰市| 景宁| 台北县| 尖扎县| 文安县| 长阳|