複数のクライアントがサーバーとの接続を確立した後、socket.io()サーバーにはソケット属性があり、属性値はすべてのソケットオブジェクトであり、クライアントとの接続を確立します。 Objectの送信方法またはEMITメソッドを使用して、すべてのクライアントにメッセージをブロードキャストできます。
io.sockets.send( "ユーザー編集);
io.socket.emit( "login"、names);
場合
server.jsコード:
コードコピーは次のとおりです。
var Express = require( "Express");
var http = require( "http");
var sio = require( "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( "聞き取り1337");
});
var io = sio.listen(server);
var names = [];
io.sockets.on( "connection"、function(socket){
socket.emit( "login"、names);
socket.on( "login"、function(name){
names.push(name);
io.sockets.emit( "login"、names);
});
});
コードコピーは次のとおりです。
<!doctype html>
<html>
<head lang = "en">
<メタcharset = "utf-8">
<title> </title>
<スクリプトsrc = "/socket.io/socket.io.js"> </script>
<スクリプト>
var socket = io.connect();
socket.on( "login"、function(names){
var str = "";
name.foreach(function(name){
str+= "user"+name+"login。<br/>";
});
document.getElementById( "result")。innerhtml = str;
});
関数add(){
socket.emit( "login"、document.getElementbyId( "nickname")。value);
}
</script>
</head>
<body>
ニックネーム<input type = "text" id = "nickname" />
<div id = "result"> </div>
<入力型= "ボタン" onclick = "add()" value = "login" />
</body>
</html>
実行結果:
Google Chromeにログインすると、同じ結果がFirefoxで確認できます。
これは素晴らしい現象であり、私を非常に驚かせた効果です。
そのような素晴らしいノード。