Rumah > hujung hadapan web > tutorial js > Kaedah menggunakan socket.io dalam node.js_node.js

Kaedah menggunakan socket.io dalam node.js_node.js

WBOY
Lepaskan: 2016-05-16 16:26:56
asal
1481 orang telah melayarinya

Gunakan socket.io untuk mencipta pelayan socket.io Tetapi pelayan ini bergantung pada pelayan http yang telah dibuat.

Selepas pelayan http berjalan, gunakan kaedah dengar untuk melampirkan pelayan socket.io pada pelayan http.

Salin kod Kod adalah seperti berikut:

var sio=require("scoket.io");
var socket=sio.listen(server);

Soket ialah pelayan socket.io yang dibuat berdasarkan pelayan.

Apabila pelanggan mewujudkan sambungan dengan pelayan, peristiwa sambungan perkhidmatan socket.io dicetuskan.

Salin kod Kod adalah seperti berikut:

socket.on("sambungan",fungsi(soket){
});

Parameter soket dalam fungsi panggil balik ialah objek port soket yang digunakan untuk mewujudkan sambungan antara pelayan dan klien.

Apabila mesej yang dihantar oleh pelanggan diterima, peristiwa mesej objek port soket dipancarkan.

Salin kod Kod adalah seperti berikut:

socket.on("message",function(msg){
});

Parameter fungsi panggil balik ialah mesej yang dihantar oleh klien.

Anda boleh menggunakan socket.send(msg) untuk menghantar mesej kepada pelanggan.

Acara putus sambungan dicetuskan apabila sambungan antara pelayan dan pelanggan diputuskan.

Salin kod Kod adalah seperti berikut:

socket.on("putus sambungan", funciton(){
});

Fungsi panggil balik ini tidak mengambil sebarang parameter.

Kod server.js sebelah pelayan:

Salin kod Kod adalah seperti berikut:

var http=require("http");
var sio=require("socket.io");
var fs=require("fs");
var server=http.createServer(function (req,res) {
res.writeHead(200,{"Content-type":"text/html"});
res.end(fs.readFileSync("./index.html"));
});
server.listen(1337);
var socket=sio.listen(server);
socket.on("sambungan", fungsi (soket) {
console.log("Pelanggan mewujudkan sambungan");
​​socket.send("Hello");
socket.on("message", fungsi (msg) {
console.log("Menerima mesej:" msg);
});
​​socket.on("putus sambungan", fungsi () {
console.log("Pelanggan diputuskan sambungan.");
});
});

Buat kod index.html klien:

Salin kod Kod adalah seperti berikut:








        var socket=io.connect();
socket.on("mesej", fungsi (data) {
console.log(data);
socket.send("Mesej diterima.")
          });
           socket.on("putus sambungan", fungsi () {
console.log("Pelayan diputuskan sambungan.");
          });





Kod ini:/socket.io/socket.io.js disediakan oleh perpustakaan kelas socket.io bahagian pelayan, dan tidak perlu meletakkan fail socket.io.js pada bahagian klien.

Dalam fail skrip, mula-mula gunakan kaedah io.connect() untuk menyambung ke pelayan socket.io sisi pelayan.

Kaedah ini mengembalikan objek port soket pelanggan yang mewujudkan sambungan dengan pelayan.

Apabila mesej yang dihantar oleh pelayan diterima, peristiwa mesej objek port soket pelanggan dicetuskan.

Salin kod Kod adalah seperti berikut:

socket.on("message",function(msg){
});

msg ialah data yang dihantar oleh pelayan;

Anda juga boleh menggunakan kaedah send() objek soket pelanggan untuk menghantar data ke pelayan.

Salin kod Kod adalah seperti berikut:

socket.send(msg);

Apabila pelayan memutuskan sambungan, peristiwa putus sambungan objek port soket pelanggan dicetuskan,

Salin kod Kod adalah seperti berikut:

socket.on("disconnect",function(){
})

Fungsi panggil balik ini tidak menggunakan sebarang parameter.

Nota:

Mekanisme mesej pelanggan benar-benar konsisten dengan mekanisme pemprosesan mesej pelayan Kerana socket.io memastikan pelanggan dan pelayan berkongsi API yang sama.

Hasil selepas berjalan:

Apabila penyemak imbas ditutup, sambungan dengan pelayan terputus pada masa ini, pelayan mencetuskan acara putus sambungan dan pelanggan memutuskan sambungan.

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan