웹 소켓 기반 간단 한 채 팅 방 대화 실현

2696 단어 websocket채 팅 방
본 논문 의 사례 는 웹 소켓 이 간단 한 채 팅 방 대 화 를 실현 하 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
먼저 node 환경 을 만 들 고 app.js 에 다음 코드 를 기록 합 니 다.

npm install socket.io-client
socket 은 고성능 서버 프레임 워 크 로 개발 자가 한두 개의 인 터 페 이 스 를 실현 하면 자신의 네트워크 응용 프로그램 을 보 낼 수 있다.예 를 들 어 Rpc 서비스,채 팅 방 서버,모 바 일 게임 서버 등 이다.

npm install http-server
일반적으로 server 서 비 스 를 제공 합 니 다.매개 변 수 는 포트,주소 등 을 지정 할 수 있 습 니 다.예 를 들 어 지정 한 서 비 스 는 8888 포트 에서 시작 되 고 명령 은 http-server src-p 8888 입 니 다.

npm install koa
Koa 는 node.js 를 통 해 표 현 력 이 있 는 HTTP 미들웨어 프레임 워 크 를 실현 하여 웹 응용 개발 과 API 사용 을 더욱 즐겁게 하려 고 노력 했다.Koa 의 미들웨어 간 에 인 코딩 순서에 따라 스 택 에서 순서대로 실 행 됩 니 다.작업 을 수행 하고 요청(downstream)을 아래로 전달 한 다음 에 여과 하고 역순 으로 응답(upstream)을 되 돌려 줍 니 다.
구현 코드

//     
const koa = require("koa")
//    koa
const app = new koa()
//    http 
var server = require("http").createServer(app.callback())
//     socket
const io = require("socket.io")(server, { cors: true })
//   
io.on('connection', (socket) => {
  //          

  setTimeout(() => {
    //   io    emit                      
    io.emit('chat message', '     ?')
  }, 1000)

  socket.on('disconnect', () => {
    console.log('user disconnected')
  })

  //             
  //   on                                      
  socket.on('chat message', (msg) => {
    console.log(msg)
    // msg         
    //         emit
    setTimeout(() => {
      msg = msg.replace(" ", " ").replace(" ", "").replace("?", "!")
      //                      
      io.emit('chat message', msg)
    }, 500)
  })
})
server.listen(5522,()=>{
  console.log('socket     ,    5522')
});
이 서비스 호출

import { io } from 'socket.io-client'
cteated(){
    // 1.          
    this.socket = io('ws://localhost:5522')
     // 2.     
    this.socket.on('connect', () => {
        console.log('       ')
    })
    // 3.      
    this.socket.on('chat message', msg => {
        console.log('       ', msg)
    })
}
이렇게 하면 간단 한 인공지능 대 화 를 할 수 있다.

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기