Kode server sisi server
Salinan kode adalah sebagai berikut:
var express = membutuhkan ("Express");
var http = membutuhkan ("http");
var sio = membutuhkan ("socket.io");
var app = express ();
var server = http.createServer (app);
var fs = membutuhkan ("fs");
app.get ("/", function (req, res) {
res.sendfile (__ dirname+"/index.html");
});
server.listen (1337);
var socket = sio.listen (server);
socket.on ("connection", function (socket) {
socket.emit ("news", {hello: "hello"});
socket.on ("OtherEvent", function (data) {
console.log ("Server menerima data:%j", data);
})
});
Kode Indeks Klien.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 ("news", function (data) {
console.log (data.hello);
socket.emit ("OtherEvent", {my: "Data"});
});
</script>
</head>
<body>
</body>
</html>
Tiba -tiba saya memikirkan sebuah pertanyaan: dapatkah saya menulis kode berita yang mendengarkan dengan tujuan yang sama seperti yang dipancarkan?
Jadi:
Salinan kode adalah sebagai berikut:
var express = membutuhkan ("Express");
var http = membutuhkan ("http");
var sio = membutuhkan ("socket.io");
var app = express ();
var server = http.createServer (app);
app.get ("/", function (req, res) {
res.sendfile (__ dirname+"/index.html");
});
server.listen (1337, "127.0.0.1", function () {
Console.log ("Mulai Mendengarkan 1337");
});
var socket = sio.listen (server);
socket.on ("connection", function (socket) {
socket.on ("news", function (data) {
console.log (data.hello);
});
socket.emit ("news", {hello: "hello"});
});
Catatan 15 ~ 17 baris kode: itu baru ditambahkan oleh kami.
Ternyata itu tidak mungkin, dan tidak akan ada pencetakan. Namun, tidak akan ada kesalahan.
Eksekusi emit disebut "Kirim Acara". Jika ada parameter, namanya disebut "Parameter membawa".
nota bene:
Saya juga telah menemukan banyak metode panggilan sesi dalam kerangka kerja Express secara online, tetapi saya menemukan bahwa tidak banyak dari mereka yang dapat digunakan. Artikel ini adalah metode khusus untuk menggunakan sesi di Express dan Socket.io berdasarkan proses produksi proyek saya sendiri.