Nodejs+Websocket 지정 발송 및 단체 채 팅 실현

목적.
nodejs+ws(Websocket)를 통 해 점 대 점 전송 및 단체 채 팅 발송 실현
프로젝트 구축 은 바로 건 너 뛰 고 사용 할 플러그 인 을 열거 합 니 다.
yarn add ws
WebSocket이전 글 에 비해server.js 는 주로 ws 의 인용 을 추 가 했 습 니 다.
웹 소켓 점 은 점 이 든 단체 채 팅 이 든 주로 하나의 방법 으로 clients 의 역할 은 연결 을 저장 하 는 것 입 니 다.
우 리 는 모든 연결 에 표 지 를 추가 한 다음 에 받 은 정 보 를 분석 하고 옮 겨 다 니 며 정확 한 응답 을 보 낼 수 있다.

먼저 코드(작은 소리 BB)를 분석 하고 아래 에 HTML 페이지 가 있 습 니 다.

 nbs.on("connection", (ws, req) => {
   ws.on("message", message => {
    //       
    const result = JSON.parse(message);
    //      ,     id
    if (result.login) {
     ws.socketIdxos = result.id;
    } else {
     //           ,          
     //      id                 
     nbs.clients.forEach(s => {
      if (s.socketIdxos == result.to && s.readyState == 1) {
       s.send(JSON.stringify({ data: result.mes }));
      }
     });
    }
   });
   ws.on("close", message => {
    console.log(ws.socketIdxos,"    ");
   });
  });
HTML이것 은 BBB 사용자 입 니 다.다른 페이지 는 AAA 입 니 다.메 시 지 를 바 꾸 었 을 뿐 모두 붙 이지 않 았 습 니 다.간단 합 니 다.

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>BBB111</title> 
  <script>
  const ws = new WebSocket("ws://localhost:8181");
  ws.onopen = function (e) {
   ws.send(JSON.stringify({
    "id":"BBB111",
    "login":true,
   }));
  }
  function sendMessage() {
    ws.send(JSON.stringify({
    "id":"BBB111", //   ID
    "login":false, //     
		"to":"AAA111", //     
		"mes":"  BBB111,     AAA111   " //     
   }));
  }
	function sendYUYUYU() {
    ws.send(JSON.stringify({
    "id":"BBB111",
    "login":false,
		"to":"YUYUYU",
		"mes":"  BBB111,        "
   }));
  }
  ws.onmessage = function (e) {
   console.log(e,"eeee-");
  }
  </script>
 </head>
  
 <body >
   <button onclick="sendMessage();">    </button>
	 <button onclick="sendYUYUYU();">    </button>
 </body>
 </html>

 <!DOCTYPE html>
  <html>
   <head>
    <meta charset="utf-8">
    <title>  </title>
    <script>
    const ws = new WebSocket("ws://localhost:8181");
    ws.onopen = function (e) {
     //                 ......
     ws.send(JSON.stringify({ 
      "id":"YUYUYU", 
      "login":true,
     }));
    }
    ws.onmessage = function (e) {
     console.log(e,"eeee-");
    }
    </script>
   </head>
    
   <body >
  
   </body>
   </html>
전시 하 다.

const ws = new WebSocket("ws://localhost:8181");
 localhost          IP,                    
, BBB , AAA
AAA 가 보 낸 단체 메시지 든,BBB 가 보 낸 단체 메시지 든 단체 채 팅 페이지 에서 볼 수 있다.
이로써 간단 한 개인 채 팅,단체 채 팅 WebSocket 이 완성 되 었 습 니 다.마지막 으로 여러분 들 이 얻 은 것 이 있 기 를 바 랍 니 다.안녕 히 계 세 요!!
참조 사이트 주 소 는 다음 과 같 습 니 다.    https://www.jb51.net/article/178117.htm
이 글 은 소 백의 성장 과정 을 기록 하기 위 한 것 이다(주로 기억력 이 좋 지 않 고 필기 하 는 것 이 보장 되 며 사용 할 때 꺼 내 볼 수 있다)2019/12/26
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기