이 글은 주로 express 기반의 websocket을 활용한 node.js의 방법을 소개하고 있으며, websocket을 호출하는 express 기반의 node.js 관련 설정과 사용법을 예시를 통해 분석해 보았습니다. 그것이 모두에게 도움이 되기를 바랍니다.
저도 이 효과를 오랫동안 검색했는데 테스트에 성공했습니다. 어쨌든 성공했으니 한번 살펴보겠습니다
먼저 소켓.io 모듈을 설치해야 합니다
npm install socket.io --save
그 다음 app.js 모듈을 가져오려면
var app = express();
약 12줄 아래에
var server = require('http').Server(app); var io = require('socket.io')(server);
두 줄을 추가한 다음 20줄 이상이면
app.use(function(req, res, next){ res.io = io; next(); });
를 추가합니다. www에서 시작하는 것을 좋아하지 않기 때문에 앱에서 하단의 두 번째 줄 위에 몇 줄의 코드가 js에 추가되었습니다
var port = 3000; app.set('port', port); server.listen(port);
이렇게 하면 3000 포트를 수신하기 시작합니다
, 준비 작업이 완료되고 예제를 시작합니다
공식을 사용하여 샘플 코드 테스트를 app.js에 직접 작성할 수 있습니다
io.on('connection', function (socket) { socket.emit('news', { hello: 'world1' }); socket.on('my other event', function (data) { console.log(data); }); });
서버 준비 작업이 완료되었습니다. 클라이언트 페이지의 소켓.js 파일
<script src='javascripts/socket.io-1.4.5.js'></script> var socket = io.connect("//localhost:3000"); socket.on('news', function (data) { console.log(data); alert(data); socket.emit('my other event', { my: 'data' }); });
그런 다음 페이지를 열고 테스트해 보세요
서버에서 한 페이지로만 정보를 보내고 싶다면 다음과 같이 작성하면 됩니다
router.get('/', function(req, res, next) { //只有当前页面可以获得 res.io.on('connection', function(socket) { socket.emit('news', { hello: 'world' }); socket.on('my other event', function(data) { console.log(data); }); }); //所有页面都可以获得 var io = require("../app").io; io.emit("news",{hello:"myworld"}); res.render("pclogin.ejs", {}); });
관련 권장 사항:
WebSocket 배포 서버의 외부 네트워크가 연결되지 않는 문제에 대한 해결 방법
nodejs +websocket으로 채팅 시스템 기능을 완성합니다
위 내용은 Express 기반의 websocket을 이용한 node.js에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!