بعد قيام العديد من العملاء بإنشاء اتصالات مع الخادم ، يحتوي خادم Socket.io () على سمة مآخذ ، وقيمة السمة هي جميع كائنات المقبس التي تنشئ اتصالات مع العميل. يمكنك استخدام طريقة إرسال أو طريقة تنبعث منها الكائن لبث الرسائل إلى جميع العملاء.
io.sockets.send ("تحرير المستخدم) ؛
io.socket.emit ("تسجيل الدخول" ، الأسماء) ؛
قضية
رمز server.js:
نسخة الكود كما يلي:
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 io = sio.listen (server) ؛
أسماء var = [] ؛
io.sockets.on ("الاتصال" ، الدالة (المقبس) {
Socket.emit ("تسجيل الدخول" ، الأسماء) ؛
Socket.on ("تسجيل الدخول" ، الدالة (الاسم) {
names.push (name) ؛
io.sockets.emit ("تسجيل الدخول" ، الأسماء) ؛
}) ؛
}) ؛
نسخة الكود كما يلي:
<! 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 ("تسجيل الدخول" ، الدالة (الأسماء) {
var str = "" ؛
Names.foreach (وظيفة (اسم) {
str+= "user"+name+"login. <br/>" ؛
}) ؛
document.getElementById ("النتائج"). innerhtml = str ؛
}) ؛
وظيفة إضافة () {
Socket.emit ("login" ، document.getElementById ("lamname"). value) ؛
}
</script>
</head>
<body>
لقب <إدخال type = "text" id = "labeame" />
<div id = "result"> </viv>
<type type = "button" onClick = "add ()" value = "login" />
</body>
</html>
نتائج التشغيل:
قم بتسجيل الدخول إلى Google Chrome ويمكنك رؤية نفس النتائج في Firefox.
هذه ظاهرة رائعة وتأثير فاجأني كثيرًا.
هذه عقدة رائعة.