亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

node.js 用socket實現(xiàn)聊天

stdying / 1131人閱讀

摘要:用實現(xiàn)聊天服務器搭建創(chuàng)建一個服務監(jiān)聽服務端口服務端已經(jīng)啟動請訪問客戶端服務搭建與服務端通信我們要建立服務端請求連接斷開連接客戶端建立連接客戶端向服務端發(fā)送請求觸發(fā)事件接收客戶端的信息將服務端的數(shù)據(jù)廣播到客戶端去客戶端接收服務

node.js 用socket實現(xiàn)聊天 服務器搭建

app.js

const http = require("http");
const express = require("./express");

//創(chuàng)建一個服務
const server = http.createServer(express);

//監(jiān)聽服務端口
server.listen(8001,()=>{
    console.log("服務端已經(jīng)啟動,請訪問 http://localhost:8001");
});  

express.js

const url=require("url");
const fs=require("fs");

function express(req,res){
    var urlObj=url.parse(req.url);
    //console.log(urlObj);

    var filePath="./www"+urlObj.pathname;
    var content="not found";
    if(fs.existsSync(filePath)){
        content=fs.readFileSync(filePath);
    }
    
    res.end(content.toString());
}


module.exports=express;  

index.html



    
      
        Socket.IO chat
        
      
      
        
    客戶端服務搭建與服務端通信

    我們要建立服務端socket請求連接

    io.on("connection", function(socket){
        console.log("a user connected");
    
        //斷開連接
        socket.on("disconnect", function(){
            console.log("user disconnected");
        });
    });  

    index.js

    //客戶端建立連接 
    var socket = io();  
    客戶端向服務端發(fā)送請求

    index.js

    $("form").submit(function(){
        //觸發(fā)事件
        socket.emit("chat message", $("#m").val());
        $("#m").val("");
        return false;
      });   

    app.js

    //接收客戶端的信息
    socket.on("chat message", function(msg){
        console.log("message: " + msg);
    });  

    將服務端的數(shù)據(jù)廣播到客戶端去

    socket.on("chat message", function(msg){
            console.log("message: " + msg);
    
            socket.broadcast.emit("clientE",msg);
        });  

    客戶端接收服務端廣播出來的數(shù)據(jù)

    socket.on("clientE", function(msg){
        $("#messages").append($("
  • ").text(msg)); });
  • 文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

    轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/89072.html

    相關文章

    • 手把手教你擼一個網(wǎng)頁聊天

      摘要:前端邏輯搞定之后,思考一下這個聊天室的交互是怎么實現(xiàn)的。在前端監(jiān)聽一個事件,這個事件的觸發(fā)條件是成功和服務端建立連接。攜帶一個參數(shù),即用戶的輸入。別人發(fā)送的消息現(xiàn)在就需要在前端建立一個響應服務端有新消息的監(jiān)聽事件了。 一些廢話:) 最近在學校比較閑,終于有這么一塊時間可以自由支配了,所以內(nèi)心還是十分的酸爽舒暢的。當然了,罪惡的事情也是有的,比如已經(jīng)連續(xù)一周沒有吃早飯了,其實現(xiàn)在回頭想想...

      nemo 評論0 收藏0
    • 手把手教你擼一個網(wǎng)頁聊天

      摘要:前端邏輯搞定之后,思考一下這個聊天室的交互是怎么實現(xiàn)的。在前端監(jiān)聽一個事件,這個事件的觸發(fā)條件是成功和服務端建立連接。攜帶一個參數(shù),即用戶的輸入。別人發(fā)送的消息現(xiàn)在就需要在前端建立一個響應服務端有新消息的監(jiān)聽事件了。 一些廢話:) 最近在學校比較閑,終于有這么一塊時間可以自由支配了,所以內(nèi)心還是十分的酸爽舒暢的。當然了,罪惡的事情也是有的,比如已經(jīng)連續(xù)一周沒有吃早飯了,其實現(xiàn)在回頭想想...

      leiyi 評論0 收藏0
    • 零基礎搭建網(wǎng)頁聊天室(socket.io使教程)

      摘要:本文實際為翻譯官方教程開始吧,我們做個聊天應用在這個教程里,我們將制作一個簡單的網(wǎng)頁聊天應用。它機會不要求你有任何關于或的基礎,所以這份教程適合任何水平的開發(fā)者。介紹曾經(jīng)寫一個網(wǎng)頁聊天應用可能會用到網(wǎng)頁工具套件,那時候非常困難。 本文實際為翻譯Socket.io官方教程——《Get Started: Chat application》 開始吧,我們做個聊天應用! 在這個教程里,我們將制...

      madthumb 評論0 收藏0
    • socket.io+express實現(xiàn)聊天室的思考(一)

      摘要:但是需要注意的一點是協(xié)議是建立在協(xié)議基礎之上的,需要經(jīng)過一次握手。所以連接的發(fā)起方仍是客戶端。是一個簡潔而靈活的應用框架提供一系列強大特性幫助你創(chuàng)建各種應用。這也是為什么要采用協(xié)議來實現(xiàn)聊天室的原因。 從開始寫到完善差不多斷斷續(xù)續(xù)差不多半個月時間,雖然還沒有打到想要的效果但還是階段性總結(jié)一下。(下一步加入打算視頻通訊功能)本文默認你已掌握 node 相關基礎知識 GitHub地址:ht...

      fjcgreat 評論0 收藏0
    • node技術(shù)棧 - 收藏集 - 掘金

      摘要:異步最佳實踐避免回調(diào)地獄前端掘金本文涵蓋了處理異步操作的一些工具和技術(shù)和異步函數(shù)。 Nodejs 連接各種數(shù)據(jù)庫集合例子 - 后端 - 掘金Cassandra Module: cassandra-driver Installation ... 編寫 Node.js Rest API 的 10 個最佳實踐 - 前端 - 掘金全文共 6953 字,讀完需 8 分鐘,速讀需 2 分鐘。翻譯自...

      王偉廷 評論0 收藏0

    發(fā)表評論

    0條評論

    最新活動
    閱讀需要支付1元查看
    <