Server Side Server.js 코드
코드 사본은 다음과 같습니다.
var express = 요구 사항 ( "Express");
var http = 요구 사항 ( "http");
var sio = require ( "socket.io");
var app = express ();
var server = http.createserver (app);
var fs = 요구 ( "fs");
app.get ( "/", function (req, res) {
res.sendfile (__ dirname+"/index.html");
});
Server.Listen (1337);
var socket = sio.listen (서버);
socket.on ( "연결", 함수 (소켓) {
socket.emit ( "뉴스", {hello : "hello"});
socket.on ( "Otherevent", function (data) {
console.log ( "서버는 데이터를 수락합니다 :%j", data);
})
});
클라이언트 index.html 코드
코드 사본은 다음과 같습니다.
<! 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 ( "뉴스", 기능 (데이터) {
Console.log (data.Hello);
socket.emit ( "Otherevent", {my : "data"});
});
</스크립트>
</head>
<body>
</body>
</html>
갑자기 질문을 생각했습니다. 청취 뉴스 코드를 Emit과 같은 끝까지 쓸 수 있습니까?
그래서:
코드 사본은 다음과 같습니다.
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 socket = sio.listen (서버);
socket.on ( "연결", 함수 (소켓) {
Socket.on ( "뉴스", 기능 (데이터) {
Console.log (data.Hello);
});
socket.emit ( "뉴스", {hello : "hello"});
});
15 ~ 17 줄의 코드에 주목하십시오. 우리가 새로 추가했습니다.
그것이 불가능하고 인쇄가 없을 것입니다. 그러나 오류는 없습니다.
Emit의 실행을 "보내기 이벤트"라고합니다. 매개 변수가있는 경우 이름을 "운반 매개 변수"라고합니다.
추신:
또한 Express Framework Online에서 많은 세션 호출 방법을 발견했지만 많은 세션이 사용될 수는 없다는 것을 알았습니다. 이 기사는 내 프로젝트의 생산 프로세스를 기반으로 Express and Socket.io에서 세션을 사용하는 특정 방법입니다.