개발자가 특정 애플리케이션에서 메시지 및 이벤트 전송을 완전히 제어하려면 기본 "/"네임 스페이스를 사용하는 것으로 충분합니다. 그러나 개발자가 응용 프로그램을 다른 응용 프로그램에 대한 타사 서비스로 제공 해야하는 경우 클라이언트에 연결하는 데 사용되는 소켓 포트에 대한 별도의 네임 스페이스를 정의해야합니다.
io.of (네임 스페이스)
두 개의 네임 스페이스를 만듭니다
채팅 및 뉴스를 고객 측면에서 서로에게 보내십시오.
코드 사본은 다음과 같습니다.
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 차트 = io.of ( "/chat"). on ( "Connection", function (socket) {
socket.send ( "채팅 공간에 오신 것을 환영합니다!");
socket.on ( "메시지", 함수 (msg) {
Console.log ( "채팅 네임 스페이스 수신 정보 :"+msg);
});
});
var news = io.of ( "/news"). on ( "Connection", function (socket) {
socket.emit ( "메시지 보내기", "뉴스 공간에 오신 것을 환영합니다!");
socket.on ( "메시지 보내기", function (data) {
Console.log ( "뉴스 네임 스페이스는 메시지 보내기 이벤트를 수락합니다. 데이터는 다음과 같습니다."+data);
});
});
코드 사본은 다음과 같습니다.
<! doctype html>
<html>
<head lang = "en">
<meta charset = "utf-8">
<제목> </title>
<script src = "/socket.io/socket.io.js"> </script>
<cript>
var chat = io.connect ( "http : // localhost/chat"),
News = io.connect ( "http : // localhost/news");
chat.on ( "connect", function () {
chat.send ( "안녕하세요.");
chat.on ( "메시지", 함수 (msg) {
Console.log ( "Char Space로부터 메시지 받기 :"+msg);
});
});
News.on ( "Connect", function () {
News.emit ( "메시지 보내기", "hello");
News.on ( "메시지 보내기", function (data) {
Console.log ( "뉴스 네임 스페이스에서 메시지 보내기 이벤트 받기, 데이터 비트 :"+data);
});
});
</스크립트>
</head>
<body>
</body>
</html>
실행 결과 :
node.js에서 네임 스페이스를 만들기 위해 socket.io를 사용하는 방법을 이해 했습니까? 여기의 두 가지 예는 매우 간단하므로 자유롭게 놀아 봅시다.