여러 클라이언트가 서버와 연결을 설정 한 후 Socket.io () 서버에는 소켓 속성이 있으며 속성 값은 클라이언트와의 연결을 설정하는 모든 소켓 객체입니다. 객체의 보내기 메소드 또는 방출 메소드를 사용하여 모든 클라이언트에 메시지를 방송 할 수 있습니다.
io.sockets.send ( "사용자 편집);
io.socket.emit ( "로그인", 이름);
사례
Server.js 코드 :
코드 사본은 다음과 같습니다.
var express = 요구 사항 ( "Express");
var http = 요구 사항 ( "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 (서버);
var names = [];
io.sockets.on ( "연결", 함수 (소켓) {
socket.emit ( "로그인", 이름);
socket.on ( "로그인", 함수 (이름) {
이름 .push (이름);
io.sockets.emit ( "로그인", 이름);
});
});
코드 사본은 다음과 같습니다.
<! doctype html>
<html>
<head lang = "en">
<meta charset = "utf-8">
<제목> </title>
<script src = "/socket.io/socket.io.js"> </script>
<cript>
var socket = io.connect ();
socket.on ( "로그인", 함수 (이름) {
var str = "";
names.foreach (function (name) {
str+= "user"+name+"로그인. <br/>";
});
document.getElementById ( "결과"). innerHtml = str;
});
함수 add () {
socket.emit ( "로그인", document.getElementById ( "nickname"). value);
}
</스크립트>
</head>
<body>
별명 <입력 유형 = "text"id = "닉네임 />
<div id = "result"> </div>
<input type = "button"onclick = "add ()"value = "login" />
</body>
</html>
실행 결과 :
Google 크롬에 로그인하면 Firefox에서 동일한 결과를 볼 수 있습니다.
이것은 훌륭한 현상이며 저를 매우 놀라게하는 효과입니다.
그런 멋진 노드.