国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

基于websocket實(shí)現簡(jiǎn)單聊天室對話(huà)

發(fā)布時(shí)間:2021-08-17 12:16 來(lái)源: 閱讀:0 作者:晚星@ 欄目: JavaScript 歡迎投稿:712375056

本文實(shí)例為大家分享了websocket實(shí)現簡(jiǎn)單聊天室對話(huà)的具體代碼,供大家參考,具體內容如下

首先搭建一個(gè)node的環(huán)境,在app.js中寫(xiě)入以下代碼

npm install socket.io-client

socket是一個(gè)高性能的服務(wù)器框架,開(kāi)發(fā)者只要實(shí)現一兩個(gè)接口,便可以開(kāi)發(fā)出自己的網(wǎng)絡(luò )應用,例如Rpc服務(wù)、聊天室服務(wù)器、手機游戲服務(wù)器等。

npm install http-server

一般提供server服務(wù),參數可以指定端口、地址等等,例如指定服務(wù)在8888端口啟動(dòng),命令為:http-server src -p 8888

npm install koa

Koa 通過(guò) node.js 實(shí)現了一個(gè)十分具有表現力的 HTTP 中間件框架,力求讓 Web 應用開(kāi)發(fā)和 API 使用更加地愉快。Koa的中間件之間按照編碼順序在棧內依次執行,允許您執行操作并向下傳遞請求(downstream),之后過(guò)濾并逆序返回響應(upstream)。

實(shí)現代碼

// 引入依賴(lài)
const koa = require("koa")
// 初始化koa
const app = new koa()
// 開(kāi)啟 http 
var server = require("http").createServer(app.callback())
// 初始化 socket
const io = require("socket.io")(server, { cors: true })
// 監聽(tīng)
io.on('connection', (socket) => {
  // 主動(dòng)向客戶(hù)端發(fā)消息

  setTimeout(() => {
    // 通過(guò)io對象方法emit 觸發(fā)一個(gè)自定義事件  并且向客戶(hù)端發(fā)送消息
    io.emit('chat message', '想說(shuō)點(diǎn)什么?')
  }, 1000)

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

  // 在服務(wù)器收到客戶(hù)端的消息
  // 通過(guò)on方法監聽(tīng)事件  當客戶(hù)端發(fā)送消息時(shí)會(huì )觸發(fā)該事件 并且可以接受客戶(hù)端發(fā)來(lái)的消息
  socket.on('chat message', (msg) => {
    console.log(msg)
    // msg為客戶(hù)端發(fā)來(lái)的消息
    // 發(fā)消息給客戶(hù)端是emit
    setTimeout(() => {
      msg = msg.replace("你", "我").replace("嗎", "").replace("?", "!")
      // 觸發(fā)事件 將處理之后的消息信息發(fā)送給客戶(hù)端
      io.emit('chat message', msg)
    }, 500)
  })
})
server.listen(5522,()=>{
  console.log('socket服務(wù)已開(kāi)啟,端口號為5522')
});

調用這個(gè)服務(wù)

import { io } from 'socket.io-client'
cteated(){
    // 1.創(chuàng  )建連接 可以自定義
    this.socket = io('ws://localhost:5522')
     // 2. 建立連接
    this.socket.on('connect', () => {
        console.log('建立連接成功了')
    })
    // 3.監聽(tīng)消息返回
    this.socket.on('chat message', msg => {
        console.log('服務(wù)回來(lái)的消息', msg)
    })
}

這樣就能進(jìn)行一個(gè)簡(jiǎn)單的人工智能對話(huà)了

以上就是本文的全部?jì)热?,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

久久精品亚洲精品国产色婷| 久久午夜夜伦鲁鲁片免费无码影院| 少妇激情AV一区二区| 精品国产国语对白久久免费| 色狠狠色狠狠综合天天| 亚洲V无码一区二区三区四区观看|