>웹 프론트엔드 >JS 튜토리얼 >Socket.io 및 node.js_node.js를 기반으로 인스턴트 메시징 시스템 구축

Socket.io 및 node.js_node.js를 기반으로 인스턴트 메시징 시스템 구축

WBOY
WBOY원래의
2016-05-16 16:40:401569검색

socket.io와 nodejs를 사용하여 웹소켓 서버 구축

socket.io는 클라이언트측 웹소켓 서비스를 구축할 수 있을 뿐만 아니라 nodejs 서버측 웹소켓도 지원합니다.

nodejs 설치 및 구성 방법을 소개하겠습니다.

msi 파일을 다운로드하려면 http://nodejs.org/#download로 이동하세요. 다음을 계속 클릭하여 설치하세요. 최종 파일은 C:nodejs 디렉터리에 자동으로 설치됩니다.

설치가 완료되면 환경 변수가 자동으로 구성됩니다. 자동 구성이 없는 경우 경로에 ;C:nodejs를 수동으로 추가하세요.

설치가 완료되면 node.js 모듈을 관리하도록 npm을 구성해야 합니다.

창 아래에 npm을 설치하려면 git을 설치해야 합니다.

git을 설치한 후 gitbush를 엽니다. 다음 단계를 따르세요.

git config --system http.sslcainfo /bin/curl-ca-bundle.crt

git clone --recursive git://github.com/isaacs/npm.git

cd npm

node cli.js install npm -gf

첫 번째 단계는 프롬프트 없이 설정하는 것입니다. 두 번째 단계는 github에서 npm을 다운로드하고 파일을 다운로드하고 진행하는 것입니다. 네 번째 단계는 npm을 node.js에 설치하고 여러 파일을 cmd 파일로 복사하는 것입니다. mode_modules 파일을 nodejs 디렉토리에 클립합니다.

이렇게 하면 npm이 구성됩니다.

모듈을 설치해야 하는 경우 npm install ***을 직접 입력하세요.

npm이 없거나 Windows 사용자는 github를 사용하여 소켓.io를 다운로드하고 node_modules 폴더에 넣을 수 있습니다. 구체적인 구성은 "Nodejs 튜토리얼: Nodejs.exe의 Windows 디렉토리 구조 구성" 기사를 참조하세요. 🎜>

nodejs 설치 소켓.io

노드 플러그인을 사용하여 패키지를 관리하고 다음 명령을 실행하여 소켓.io를 성공적으로 설치하세요

npm install socket.io

socket.io를 사용하여 구현한 예

클라이언트 코드:

<html> 

<head> 

  <title></title> 

  <script src="../js/socket.io.client.js"></script> 

  <script type="text/javascript"> 

    function doit() { 

      var socket = io.connect('http://localhost'); 

      socket.on('news', function (data) {//接收到服务器发送过来的名为'new'的数据 

        console.log(data.hello);//data为应服务器发送过来的数据。 

        socket.emit('my new event', { my:'new data' });//向服务器发送数据,实现双向数据传输 

      }); 

      socket.on('other', function (data) {//接收另一个名为'other'数据, 

        console.log(data.hello); 

        socket.emit('event1', { my:'other data' }); 

      }); 

    } 

  </script> 

</head> 

<body> 

<button id='btn' onclick="doit()">click me</button> 

</body> 

</html> 

socket.io.client.js는

https://github.com/LearnBoost/socket.io-client에서 로컬로 다운로드하여 adc1155061279776b3f669ae9a3b7ec8 머신 js 라이브러리.

서버는 nodejs로 구현됩니다

server2.js

var http= require('http'), io= require('socket.io'), express= require('express'); 

var app = express.createServer(), io = io.listen(app); 

app.listen(80); 

io.sockets.on('connection', function (socket) { 

 socket.emit('news', { hello: 'world' });//监听,一旦客户端连接上,即发送数据,第一个参数'new'为数据名,第二个参数既为数据 

 socket.on('my other event', function (data) {//捕获客户端发送名为'my other event'的数据 

  console.log(data.my); 

 }); 

 socket.emit('other', { hello: 'other world' });//发送另一个数据 

 socket.on('evnet1', function (data) {//捕获另外一个数据 

  console.log(data.my); 

 }); 

}); 

클라이언트에서 테스트 결과를 정상적으로 표시할 수 있습니다

서버측 표시 결과:

C:javaNodejs>노드 서버2.js

참고: 코드는 npm_module과 동일한 디렉터리에 있어야 합니다. 그렇지 않으면 소켓.io 모듈을 찾을 수 없다는 오류가 발생합니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.