Rumah >hujung hadapan web >tutorial js >Cara menggunakan socket.io_node.js dalam ekspres nod

Cara menggunakan socket.io_node.js dalam ekspres nod

WBOY
WBOYasal
2016-05-16 16:26:591768semak imbas

Kod pelayan.js sebelah pelayan

Salin kod Kod adalah seperti berikut:

var express=require("express");
var http=require("http");
var sio=require("socket.io");
var app=express();
var server=http.createServer(app);
var fs=require("fs");
app.get("/", fungsi (req,res) {
res.sendfile(__dirname "/index.html");
});
server.listen(1337);
var socket=sio.listen(server);
socket.on("sambungan", fungsi (soket) {
socket.emit("berita",{hello:"Hello"});
socket.on("otherEvent", fungsi (data) {
console.log("Data diterima pelayan: %j",data);
})
});

Kod index.html pelanggan

Salin kod Kod adalah seperti berikut:








        var socket=io.connect();
socket.on("berita", fungsi (data) {
console.log(data.hello);
socket.emit("otherEvent",{my:"data"});
          });





Persoalan tiba-tiba timbul kepada saya Bolehkah saya menulis kod pemantauan untuk berita yang sama dengan yang dipancarkan?

Dengan cara ini:

Salin kod Kod adalah seperti berikut:

var express=require("express");
var http=require("http");
var sio=require("socket.io");
var app=express();
var server=http.createServer(app);
app.get("/", fungsi (req,res) {
res.sendfile(__dirname "/index.html");
});
server.listen(1337,"127.0.0.1", fungsi () {
console.log("Mulakan pemantauan 1337");
});
var socket=sio.listen(server);
socket.on("sambungan", fungsi (soket) {
socket.on("berita", fungsi (data) {
console.log(data.hello);
});
socket.emit("berita",{hello:"Hello"});
});

Perhatikan 15~17 baris kod: ia baru ditambahkan oleh kami.

Fakta membuktikan bahawa ia tidak mungkin, tidak akan ada cetakan Tetapi ia tidak akan melaporkan ralat juga.

Pelaksanaan pancaran secara eufemisme dipanggil: menghantar acara Jika terdapat parameter, ia secara eufemisme dipanggil: membawa parameter.

Posskrip:

Saya juga mendapati banyak maklumat tentang kaedah panggilan sesi dalam rangka kerja Ekspres di Internet, tetapi saya mendapati bahawa tidak banyak daripada mereka sebenarnya berguna Artikel ini berdasarkan proses pengeluaran projek saya sendiri, dan disusun kaedah khusus menggunakan sesi dalam Ekspres dan soket.IO.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn