长连接:客户端向服务器段发请求建立链接,一旦建立成功,客户端就可以向服务器发送数据,服务器接受并处理,返回相应后连接不断开

优点:实时通讯,

短连接:客户端向服务器发送建立连接,一旦建立成功,客户端就可以像服务器端请求数据,服务器接收并处理,返回响应后连接立即断开,若想重新发请求,则需要重新建立连接

优点:节省服务器端资源,

如何建立客户端与服务器端之的websocket连接实现通讯?

Socket.io

socket.io是一个浏览器与服务器之间提供实时,双向,基于事件通讯的网络通信库框架,基于websocket协议,提供相关的api,方便实现客户端与服务器之间的长连接通讯,

建立websocket连接,

服务端:

1.建立node.js

2.初始化npm项目,安装socket.io模块

npm init

npm install --save socket.io

3.编写index.js,在代码中通过socket.io接收客服端建立连接

const socketio= require('socket.io')(http,{

    cors:{

        origin:'*'

    }

})

 为了解决跨域的问题

客服端:

1.新建html 网页  通过script  标签引入socket.io.js

2.通过socket.io.js   向服务端建立长连接

实现websocket通信

升级版本~~~~

之后请关注

使用node.js和Socket创建实时通讯聊天室。相关推荐

  1. node.js入门 - 2.创建一个简单聊天室

    这篇文章将通过开发一个简单聊天室的方式,介绍node.js的net模块. 一.第一版,只向客户端发送信息   我们先实现一个简单的版本,代码如下: var net=require('net'); va ...

  2. Node.js 和Socket.IO 实现chat

    使用 Node.js 和 Socket.IO 构建简单的聊天程序 在node.js根目录下创建文件夹chat,里面添加两个文件:app.js和index.html app.js var fs = re ...

  3. TWaver HTML5 + Node.js + express + socket.io + redis(六)

    接上一篇TWaver HTML5 + Node.js + express + socket.io + redis(五), 这一篇将讲解如何用模版生成html页面, 如何验证用户登录, 您将了解到: 1 ...

  4. vue js 对象下的原型_如何使用Vue.js和Pusher创建实时原型反馈应用程序

    vue js 对象下的原型 by Neo Ighodaro 由新Ighodaro 如何使用Vue.js和Pusher创建实时原型反馈应用程序 (How to create a realtime pro ...

  5. Java 接受reactjs数据_[Java教程]react.js 父子组件数据绑定实时通讯

    [Java教程]react.js 父子组件数据绑定实时通讯 0 2017-09-23 17:00:14 import React,{Component} from 'react'import Reac ...

  6. TWaver HTML5 + Node.js + express + socket.io + redis(五)

    接上一回TWaver HTML5 + Node.js + express + socket.io + redis(四), 这一篇您将了解到 1. 如何保存更改后的拓扑数据 (包括新增的, 修改的, 删 ...

  7. Express+Socket.IO 实现简易聊天室

    代码地址如下: http://www.demodashi.com/demo/12477.html 闲暇之余研究了一下 Socket.io,搭建了一个简易版的聊天室,如有不对之处还望指正,先上效果图: ...

  8. 基于socket.io的web聊天室

    基于socket.io的web聊天室 一. 项目介绍 该项目使用node.js作为后端服务器框架,并利用socket.io来实现web聊天室功能.socket.io是由 JavaScript 实现的基 ...

  9. Socket编程实现简易聊天室

    1.Socket基础知识 Socket(套接字)用于描述IP地址和端口,是通信链的句柄,应用程序可以通过Socket向网络发出请求或者应答网络请求. Socket是支持TCP/IP协议的网络通信的基本 ...

最新文章

  1. mac sublime html开发环境,在Mac下用Sublime Text 2 架设C开发环境
  2. Latex:表格制作全攻略
  3. C++ :sqlite3使用:
  4. Windows下FFTW的安装_史上最全
  5. 针对不同的系统的宏定义
  6. go语言判断手机号归属地
  7. WinXp怎么开机进入Dos
  8. dentry path_lookat dput
  9. 割平面法 matlab,割平面法matlab
  10. python算法练习——解空间的穷举搜索与Google方程式
  11. idea中为啥要用maven
  12. 服务器复制文件出现io错误,win7系统复制文件时发生IO错误的解决方法
  13. awk oracle,工具: ass109.awk 分析 Oracle 的跟踪文件
  14. 安装ssd后不识别网卡_新买的固态硬盘装上后无法识别如何解决
  15. JDBC SQl注入
  16. 永信至诚发起亿元创投基金 助力网络安全创业者成长
  17. ERR_SSL_PROTOCOL_ERROR浏览器解决办法
  18. php curl模拟post请求
  19. MES 工厂建模以及对工厂功能的理解
  20. 美股三连跌,蔚来汽车与趣头条周三暴跌约20%

热门文章

  1. mysql8.0安装及配置超详细教程_系统城教你mysql8.0安装与配置教程
  2. 什么是Uniswap?
  3. 江苏计算机专业专转本平均分,2020年江苏专转本各科目难度分析
  4. C语言与C++基础编写贪吃蛇项目1
  5. 苹果5s能开机显示无服务器,iphone5s无法开机 iphone5s不能开机解决方法步骤
  6. Python md5去重图片文件
  7. 该怎样选择适合自己的小游戏引擎?
  8. 云企业网CEN介绍与实践
  9. java项目之Tomcat安装及配置
  10. 一枚云南石林极限明信片