Nodejs+Websocket 지정 발송 및 단체 채 팅 실현
nodejs+ws(Websocket)를 통 해 점 대 점 전송 및 단체 채 팅 발송 실현
프로젝트 구축 은 바로 건 너 뛰 고 사용 할 플러그 인 을 열거 합 니 다.
yarn add ws
WebSocket
,
이전 글 에 비해웹 소켓 점 은 점 이 든 단체 채 팅 이 든 주로 하나의 방법 으로 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
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Springboot Websocket Stomp 메시지 구독 푸 시잡담 은 그만 두 고 본론 으로 달려가다.웹 프론트 엔 드 와 긴 링크 를 만들어 서로 실시 간 으로 통신 해 야 하기 때문에 웹 소켓 을 생각 했 습 니 다.그 다음 에 수요 에 따라 사용자 가 테 마 를 구독 하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.