Gunakan socket.io untuk membuat server socket.io. Namun, server tergantung pada server HTTP yang sudah dibuat.
Setelah server HTTP berjalan, gunakan metode dengarkan untuk melampirkan server socket.io ke server HTTP.
Salinan kode adalah sebagai berikut:
var sio = membutuhkan ("scoket.io");
var socket = sio.listen (server);
Socket adalah server socket.io yang dibuat di server.
Ketika klien membuat koneksi dengan server, acara koneksi layanan socket.io dipicu.
Salinan kode adalah sebagai berikut:
socket.on ("connection", function (socket) {
});
Parameter soket dalam fungsi callback adalah objek port soket yang membuat koneksi antara server dan klien.
Ketika pesan yang dikirim oleh klien diterima, acara pesan objek port soket dikeluarkan.
Salinan kode adalah sebagai berikut:
socket.on ("pesan", fungsi (msg) {
});
Parameter fungsi panggilan balik adalah pesan yang dikirim oleh klien.
Anda dapat menggunakan socket.send (msg) untuk mengirim pesan ke klien.
Peristiwa Disconnect dipicu ketika koneksi sisi-sisi sisi server terputus.
Salinan kode adalah sebagai berikut:
Socket.on ("Disconnect", funciton () {
});
Fungsi panggilan balik ini tidak menerapkan parameter apa pun.
Kode server.js sisi server:
Salinan kode adalah sebagai berikut:
var http = membutuhkan ("http");
var sio = membutuhkan ("socket.io");
var fs = membutuhkan ("fs");
var server = http.createServer (function (req, res) {
res.writeHead (200, {"tipe konten": "text/html"});
res.end (fs.readfilesync ("./ index.html"));
});
server.listen (1337);
var socket = sio.listen (server);
socket.on ("connection", function (socket) {
Console.log ("Pembentukan Koneksi Klien");
socket.send ("halo");
socket.on ("pesan", fungsi (msg) {
console.log ("Menerima pesan:"+msg);
});
Socket.on ("Disconnect", function () {
console.log ("Client Disconnect.");
});
});
Buat Kode Client Index.html:
Salinan kode adalah sebagai berikut:
<! Doctype html>
<Html>
<head lang = "en">
<meta charset = "UTF-8">
<title> </title>
<skrip src = "/socket.io/socket.io.js"> </script>
<script>
var socket = io.connect ();
socket.on ("pesan", fungsi (data) {
console.log (data);
socket.send ("pesan diterima.")
});
Socket.on ("Disconnect", function () {
console.log ("Putra sisi server.");
});
</script>
</head>
<body>
</body>
</html>
Kode ini: /socket.io/socket.io.js disediakan dengan pustaka kelas socket.io sisi server, dan tidak perlu benar-benar menempatkan file socket.io.js pada klien.
Dalam file skrip, pertama -tama gunakan metode io.connect () untuk terhubung ke server server.io server.
Metode ini mengembalikan objek port soket klien yang membuat koneksi ke server.
Ketika pesan diterima dari server, acara pesan objek port soket klien dipicu.
Salinan kode adalah sebagai berikut:
socket.on ("pesan", fungsi (msg) {
});
MSG adalah data yang dikirim oleh server;
Anda juga dapat menggunakan metode Send () dari objek soket klien untuk mengirim data ke server.
Salinan kode adalah sebagai berikut:
socket.send (msg);
Saat server terputus, peristiwa terputus dari objek port soket klien dipicu.
Salinan kode adalah sebagai berikut:
Socket.on ("Disconnect", function () {
})
Fungsi panggilan balik ini tidak menggunakan parameter apa pun.
Melihat:
Mekanisme pesan klien persis sama dengan mekanisme pemrosesan pesan sisi server. Karena Socket.io memastikan bahwa klien dan server berbagi API yang sama.
Hasil Setelah Berlari:
Saat browser ditutup, koneksi ke server terputus. Pada saat ini, server memicu acara pemutusan dan klien terputus.