nodeJS+socket.io傳遞消息


服務器端

安裝express,socket.io

npm install express --save-dev
npm install socket.io --save

app.js

const express = require('express');
const app = express();
var server = require('http').createServer(app).listen(8083);
var io = require('socket.io')(server);

io.on('connection', function(socket) {   
    
    // 想客戶端傳遞消息
    socket.emit('news',{hello:'hello'}) 
    
    // 接收並處理客戶端的hi事件
    socket.on('start', function(data) {
        // ....
    })
    // 斷開事件
    socket.on('disconnect', function(data) {
        console.log('斷開通話');
        //socket.emit('c_leave','離開');
        //socket.broadcast用於向整個網絡廣播(除自己之外)
        //socket.broadcast.emit('c_leave','某某人離開了')
    })
    
});

客戶端

安裝socket.io。

注意:這里不能npm install socket.io。這個是服務器端的插件應用。不是客戶端。

直接在index.html中引入socke.io。

這樣就可以用io這個變量了

<script src="https://cdn.bootcss.com/socket.io/2.2.0/socket.io.dev.js"></script>
$('#submit').click(function(){
    var socket = io.connect('http://localhost:8080');     
    socket.on('news', function (data) {    
        alert(data.hello);
    });
    socket.emit('start',1)  

    // 可以用close()斷開連接。服務器端disconnect會監聽到
    socket.close();
})

相關文檔api

https://github.com/socketio/socket.io-client/blob/master/docs/API.md


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM