رمز Server Server.js Server
نسخة الكود كما يلي:
var express = require ("express") ؛
var http = require ("http") ؛
var sio = required ("socket.io") ؛
var app = express () ؛
var server = http.createserver (app) ؛
var fs = require ("fs") ؛
app.get ("/" ، وظيفة (req ، الدقة) {
Res.SendFile (__ dirname+"/index.html") ؛
}) ؛
server.listen (1337) ؛
var socket = sio.listen (server) ؛
Socket.on ("الاتصال" ، الدالة (المقبس) {
Socket.emit ("News" ، {Hello: "Hello"}) ؛
Socket.on ("otherevent" ، وظيفة (البيانات) {
console.log ("الخادم يقبل البيانات: ٪ J" ، البيانات) ؛
})
}) ؛
العميل فهرس
نسخة الكود كما يلي:
<! doctype html>
<html>
<head lang = "en">
<meta charset = "utf-8">
<title> </title>
<script src = "/socket.io/socket.io.js"> </script>
<script>
var socket = io.connect () ؛
Socket.on ("الأخبار" ، الوظيفة (البيانات) {
console.log (data.hello) ؛
Socket.emit ("otherevent" ، {my: "data"}) ؛
}) ؛
</script>
</head>
<body>
</body>
</html>
فجأة فكرت في سؤال: هل يمكنني كتابة رمز الاستماع للأخبار إلى نفس نهاية EMIT؟
لذا:
نسخة الكود كما يلي:
var express = require ("express") ؛
var http = require ("http") ؛
var sio = required ("socket.io") ؛
var app = express () ؛
var server = http.createserver (app) ؛
app.get ("/" ، وظيفة (req ، الدقة) {
Res.SendFile (__ dirname+"/index.html") ؛
}) ؛
Server.Listen (1337 ، "127.0.0.1" ، Function () {
console.log ("ابدأ الاستماع 1337") ؛
}) ؛
var socket = sio.listen (server) ؛
Socket.on ("الاتصال" ، الدالة (المقبس) {
Socket.on ("الأخبار" ، الوظيفة (البيانات) {
console.log (data.hello) ؛
}) ؛
Socket.emit ("News" ، {Hello: "Hello"}) ؛
}) ؛
لاحظ 15 ~ 17 خطًا من الكود: تمت إضافته حديثًا من قبلنا.
اتضح أنه غير ممكن ، ولن يكون هناك طباعة. ومع ذلك ، لن يكون هناك أخطاء.
يسمى تنفيذ SET "إرسال الحدث". إذا كانت هناك معلمات ، يسمى الاسم "حمل المعلمات".
بوستسكريبت:
لقد وجدت أيضًا الكثير من أساليب استدعاء الجلسة في إطار عمل Express عبر الإنترنت ، لكنني وجدت أنه لا يمكن استخدام الكثير منها. هذه المقالة هي طريقة محددة لاستخدام الجلسة في Express و Socket.io بناءً على عملية الإنتاج في مشروعي.