国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

用flash做網(wǎng)站系統(tǒng)優(yōu)化的例子

用flash做網(wǎng)站,系統(tǒng)優(yōu)化的例子,繼電器做網(wǎng)站,做網(wǎng)站比較大的公司前言 最近想做一個聊天,但是網(wǎng)上的很多都是不能實現(xiàn)的,要么就是缺少代碼片段很難實現(xiàn)websocket的鏈接,更別說聊天了。自己研究了一番之后實現(xiàn)了這個功能。值得注意的是,我想在小程序中使用socket.io,不好使&#xff0…

前言

最近想做一個聊天,但是網(wǎng)上的很多都是不能實現(xiàn)的,要么就是缺少代碼片段很難實現(xiàn)websocket的鏈接,更別說聊天了。自己研究了一番之后實現(xiàn)了這個功能。值得注意的是,我想在小程序中使用socket.io,不好使,可能是個人技術(shù)不到位的問題吧,沒有實現(xiàn)。但是使用websocket可以完成這個功能。

環(huán)境準(zhǔn)備

node @14.16.1

express @4.19.2

vsocde

HbuilderX

微信開發(fā)者工具

后端的依賴

后端代碼

app.js文件的代碼

// express具體使用看我提供個文章中有
const express = require('express')
const app = express()
const websocket = require('websocket').server
const http = require('http')const httpServer = http.createServer().listen(3000,()=>{console.log('http server is running at port 3000');
})
const websocketServer = new websocket({httpServer: httpServer,autoAcceptConnections: false
})const conArr = []websocketServer.on('request', function(request) {// 這就是一次客戶端發(fā)送的消息// websocket 需要將這個鏈接保存起來// 只要客戶端和服務(wù)器沒有斷開,這個鏈接必須在// 客戶端與服務(wù)端的通信都是從這個鏈接上通信const connection = request.accept()// 每次接收一個鏈接,將它存放在數(shù)組里面conArr.push(connection)// 監(jiān)聽客戶端發(fā)送的消息connection.on('message', function(message) {console.log(message);// 發(fā)送消息給客戶端(廣播到各個客戶端)// 后面加上 utf8Data 編碼// 要將所有的鏈接全部發(fā)出去,才可以讓每個客戶端接收到其他傳來的數(shù)據(jù)for(let i = 0; i < conArr.length; i++) {conArr[i].send(message.utf8Data)}})
})app.get('/', (req, res) => {res.send('Hello World!')
})app.listen(8080, () => {console.log('Express server is running at port 3000');
})

簡單分析一下,websocket是基于http協(xié)議的所以要導(dǎo)入http模塊,express和websocket監(jiān)聽的端口不一樣,這樣的話前端可以調(diào)用存儲聊天信息的接口往數(shù)據(jù)庫表中插入聊天信息,這樣就可以完成聊天記錄的存儲,現(xiàn)在這個demo就是做了一個簡單的websocket的鏈接和簡陋的聊天界面。后續(xù)會完善一個開源項目完成聊天的功能、撤回和聊天記錄回顯的功能。

前端代碼(uniapp)

<template><view>姓名:<input type="text" v-model="name" />話語:<input type="text" v-model="text" /><button @click="onSumbit">發(fā)送</button></view>
</template>
<script>export default{data(){return{name:'',text:''}},onLoad() {this.getLink()},methods:{// 在頁面或組件的方法中調(diào)用,初始化鏈接websocketgetLink(){uni.connectSocket({url: 'ws://127.0.0.1:3000',success() {console.log('WebSocket連接成功');},fail(err) {console.error('WebSocket連接失敗', err);}});},// 收到信息getJieShouMessage(){uni.onSocketMessage(function (res) {console.log('收到消息:', res.data);});},// websocket發(fā)生了錯誤getErrorMessage(){uni.onSocketError(function (err) {console.error('WebSocket錯誤:', err);});},// websocket關(guān)閉getSocketGuanBi(){uni.onSocketClose(function () {console.log('WebSocket連接已關(guān)閉');});},// 如果不需要的話就關(guān)閉websocketgetCloseThisLiaotian(){uni.closeSocket({code: 1000,  // 關(guān)閉連接的狀態(tài)碼,可選reason: '用戶關(guān)閉連接',  // 關(guān)閉連接的原因,可選success() {console.log('WebSocket連接已關(guān)閉');},fail(err) {console.error('WebSocket關(guān)閉失敗', err);}});},// 這個是點擊發(fā)送信息onSumbit(){var that = thislet values={name:this.name,context:this.text}uni.sendSocketMessage({data: JSON.stringify(values),success() {console.log('消息發(fā)送成功');that.getJieShouMessage()},fail(err) {console.error('消息發(fā)送失敗', err);}});}}}
</script>

注意

getLink(){uni.connectSocket({url: 'ws://127.0.0.1:3000',success() {console.log('WebSocket連接成功');},fail(err) {console.error('WebSocket連接失敗', err);}});},

這段代碼中,需要初始化調(diào)用,進行鏈接websocket,url是ws協(xié)議,線上的地址需要wss協(xié)議,具體可以參考微信官方的wss協(xié)議要求,我這demo是微信小程序。

效果圖

通過上圖可以看見可以及時的收到信息,前端拿到信息進行渲染就可以完成websocket的及時通訊了。

http://m.aloenet.com.cn/news/33519.html

相關(guān)文章:

  • 網(wǎng)站開發(fā) 定制 合同優(yōu)化大師使用方法
  • 如何用爬蟲做網(wǎng)站監(jiān)控百度指數(shù)怎么查
  • 做dm素材網(wǎng)站重慶網(wǎng)站快速排名提升
  • 購物網(wǎng)站開發(fā)實例百度關(guān)鍵詞搜索量
  • 網(wǎng)站空間流量不夠深圳短視頻seo教程
  • 自己的網(wǎng)站怎么做關(guān)鍵詞優(yōu)化品牌推廣策劃方案案例
  • pathon能做網(wǎng)站開發(fā)嗎如何去推廣
  • 做網(wǎng)站能成功嗎產(chǎn)品策劃方案怎么做
  • 網(wǎng)站開發(fā)方倍工作室中山seo推廣優(yōu)化
  • 門戶網(wǎng)站 建設(shè)最近的新聞有哪些
  • 廣州做網(wǎng)站的網(wǎng)絡(luò)公司新聞株洲最新
  • 門戶網(wǎng)站建設(shè)情況西地那非片的功能主治
  • 機械加工怎么找客戶seo快速排名是什么
  • 做電影網(wǎng)站還能賺錢seo在線優(yōu)化技術(shù)
  • 湖南高端網(wǎng)站制百度地圖關(guān)鍵詞優(yōu)化
  • 易企秀怎么做招聘網(wǎng)站超鏈接全國疫情的最新數(shù)據(jù)
  • 常州做網(wǎng)站公司哪家好廣東做seo的公司
  • 西寧微網(wǎng)站建設(shè)拉新充場app推廣平臺
  • 論述政府門戶網(wǎng)站建設(shè)的基本意義百度優(yōu)化大師
  • phpcms手機網(wǎng)站長沙百度推廣運營公司
  • 做網(wǎng)站為什么要買網(wǎng)站空間百度的seo排名怎么刷
  • 網(wǎng)站設(shè)計策劃書 模板營銷號
  • 做直播網(wǎng)站軟件有哪些軟件下載海外域名
  • 哪種源碼做視頻網(wǎng)站好用知乎軟文推廣
  • 一臺電腦主機做網(wǎng)站國際新聞最新消息十條
  • 怎么做類似清風(fēng)dj網(wǎng)站自己做一個網(wǎng)站
  • 互聯(lián)網(wǎng)信息服務(wù)許可證做優(yōu)化關(guān)鍵詞
  • 開遠(yuǎn)市住房和城鄉(xiāng)建設(shè)局網(wǎng)站網(wǎng)絡(luò)營銷的特點主要包括什么
  • 小程序官方開發(fā)文檔沈陽企業(yè)網(wǎng)站seo公司
  • wordpress配置cdn緩存規(guī)則博客可以做seo嗎