当前位置: 首页 > news >正文

做国外的众筹网站优化方案生物必修一

做国外的众筹网站,优化方案生物必修一,做推广网站需要商标吗,免费发布外链WebSockets 是一种先进的技术。它可以在用户的浏览器和服务器之间打开交互式通信会话。你可以向服务器发送消息并接收事件驱动的响应&#xff0c;而无需通过轮询服务器的方式以获得响应&#xff0c;比较典型的应用场景就是即时通讯&#xff08;聊天&#xff09;系统。 <!DOC…

WebSockets 是一种先进的技术。它可以在用户的浏览器和服务器之间打开交互式通信会话。你可以向服务器发送消息并接收事件驱动的响应,而无需通过轮询服务器的方式以获得响应,比较典型的应用场景就是即时通讯(聊天)系统。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>WebSocket 示例</title></head><body><script>// 实例化 socketconst ws = new WebSocket('wss://socketsbay.com/wss/v2/1/demo/')// 监听连接的建立ws.onopen = function (ev) {console.log('建立连接...')ws.send('Hello WebSockets!')}// 监听连接的断开ws.onclose = function (ev) {console.log('断开连接...')}// 监听 socket 服务器消息ws.onmessage = function (ev) {console.log('收到消息: ' + ev.data)}</script></body>
</html>

Socket.IO 是基于 WebSocket 进行的二次封装,封装了更多的业务层面的逻辑,如身份认证等、事件驱动等。

注:其实 Socket.IO 不仅仅是封装了 WebSocket,还有基于 Ajax 的长轮询机制,在不支持 WebSocket 的环境中会自动降级为基于 Ajax 的长轮询机制。

长轮询机制可以粗暴的理解为在一个定时器中不断的重复发 Ajax 请求,以实现与服务器实时通信的功能。

客户端代码

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>socket.io 示例</title>
</head><body><button id="myButton">点击</button><!-- <script src="node_modules/socket.io/client-dist/socket.io.js"></script> --><script src="https://cdn.socket.io/4.4.1/socket.io.min.js"></script><script>// 实例化const socket = io('http://localhost:3000', {transports: ['websocket'],})socket.on('connect', () => {console.log('建立连接...')})socket.on('disconnect', () => {console.log('断开连接...')})socket.on('sendToClient', (msg) => {console.log('收到来自服务器数据: ' + msg)})var myButton = document.getElementById('myButton');myButton.addEventListener('click', function () {socket.emit('sendToServer', '的花花世界是江苏省靖江市就是')});</script>
</body></html>

服务端代码

// server.js
import { createServer } from 'http'
import { Server } from 'socket.io'
import path from 'path'const server = createServer()
const io = new Server(server)// websocket
io.on('connection', (client) => {console.log('建立连接...')// 消息发送client.on('sendToServer', (msg) => {console.log('收到了客户端的数据: ' + msg)// 随机返回一条消息const messages = ['你好!', '我在写代码', '快下课了吧?']// 0 ~ 2 随机数据const index = Math.floor(Math.random() * 3)// 向客户端回复消息io.emit('sendToClient', messages[index])})// 断开连接client.on('disconnect', () => {console.log('断开连接...')})
})server.listen(3000, () => {console.log('server start')
})
http://www.yayakq.cn/news/590579/

相关文章:

  • 河南推广网站的公司对php网站开发的认识
  • 免费做网站的公司国外设计师作品网站
  • 网站机房建设解决方案网站建设 钱
  • 2017年内蒙古建设厅网站网站集约化建设 通知
  • sql做网站后台个体户能做网站备案吗
  • 网站留言板作用网站正在建设中 图片
  • vps怎么做网站深圳工业设计公司排名榜
  • 有网站源代码能自己做网站吗wordpress添加tag标签
  • 网站服务器 同步备份免费的网络推广渠道有哪些
  • 合肥网站seo整站优化wordpress简书主题安装
  • 茶叶价格网站建设建立网站的基本步骤
  • 招标信息发布seo指的是什么
  • 3322做网站怎样开网站卖东西
  • 在Vs中做网站接口网站建设与运营意义
  • 做网站客户网站集群建设合同
  • 网站备案有时间吗咸阳企业网站设计开发制作
  • 要怎样建立自己的网站微官网是什么
  • 百度商桥网站代码去哪里添加wordpress改了ip
  • 网站名称与主体性质不符动漫视频网站开发
  • 校园网站建设的优点关键词seo深圳
  • 网站优化的价值微网站怎么自己做
  • ui设计在线网站wordpress广告图片自动轮播代码
  • 做的最成功的网站省建设厅网站安全生产标准化
  • 网站域名不要了怎么做产品如何做线上推广
  • 甘肃企业建站系统费用做网站的公司赚钱吗
  • 做鲜花配送网站需要准备什么雏光 网络推广 网站建设
  • 使用网站模板快速建站做网站用的云控制台
  • 无锡优化网站排名知识管理软件
  • 深圳网站设计 建设首选网站的系统建设方式有哪些方面
  • 雄安网站建设400多少钱网站开发招聘年薪