nodejs之socket.io模块——实现了websocket协议

Nodejs实现websocket的4种方式:socket.io、WebSocket-Node、faye-websocket-node、node-websocket-server,这里主要使用的是socket.io

1、服务端:

1)首先安装socket.io

npm  install  socket.io

2)server.js

var app = require('http').createServer(handler),
    io = require('socket.io').listen(app),
    fs = require('fs')

app.listen(8080);
io.set('log level', 1);//将socket.io中的debug信息关闭

function handler (req, res) {
  fs.readFile(__dirname + '/index.html',function (err, data) {
    if (err) {
      res.writeHead(500);
      return res.end('Error loading index.html');
    }
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.end(data);
  });
}

io.sockets.on('connection', function (socket) {
    socket.emit('news', { hello: 'world' });
    socket.on('my other event', function (data) {
      console.log(data);
    });
});

2、客户端:

1)websocket是html5标准,浏览器内部已经支持了,其编程接口大致有connect、close、open、send几个接口,如果要使用浏览器原生的方式编写websocket,比较繁琐,所以可以下载一个客户端库方便编程,这里使用的是socket.io客户端库,点击打开链接

2)index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Ssocket</title>
    <script type="text/javascript" src="https://cdn.socket.io/socket.io-1.3.5.js"></script>
</head>

<body>
    <script type="text/javascript">
      var socket = io.connect('http://localhost:8080');
      socket.on('news', function (data) {
        alert(data.hello);
        socket.emit('my other event', { my: 'data' });
      });
    </script>

</body>
</html>

3、测试:

启动服务端nodejs代码:node  server.js

在浏览器输入 http://localhost:8080/index.html

浏览器打印出: world

命令行打印出:{ my: ‘data‘ }

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-08 17:53:44

nodejs之socket.io模块——实现了websocket协议的相关文章

nodejs 基于socket.io实现聊天室

由于之后要做的网页视频直播项目要用到socket.io模块,所以特地花时间研究了下,参照网上的代码做了些改进,自己写了个聊天室代码.不得不承认后端事实推送能力有点厉害,这是以前我用php一直苦恼的事情.下面简单介绍下我的项目,顺带讲解下nodejs. 事实上,在看别人写的代码之前,我一直不知道nodejs是干嘛的,直到真正接触到才明白这也可以算作是服务端代码,丰富的第三方库使其功能极其强大.它可以像golang的beego一样直接通过命令行开启服务器,不过要用到express模块.加载模块的方式

node.js之socket.io模块

socket.io模块是一个基于Node.js的项目,其作用主要是将WebSocket协议应用到所有的浏览器.该模块主要应用于实时的长连接多请求项目中,例如在线联网游戏.实时聊天.实时股票查看.二维码扫描登录等.——Node.js开发实战详解 安装和配置的方法和一般的NPM模块安装配置一致: # npm install soctet.io 应该是因为我的本地服务器是win7操作系统,所以在安装的时候会有一堆错误提示,但是貌似不影响使用socket.io模块,没有太在意这个.不知道在linux上是

Socket.IO failed: Error during WebSocket handshake:

在node安装了Socket.IO,做demo时报错 WebSocket connection to 'ws://localhost:8999/socket.io/?EIO=3&transport=websocket&sid=D0fxLuPwjHWgYSI7AAAB' failed: Error during WebSocket handshake: Unexpected response code: 400 WebSocket 握手时发生错误,诡异的是我前端页面没有关闭,重启服务器nod

使用Node.js的socket.io模块开发实时web程序

首发:个人博客,更新&纠错&回复 今天的思维漫游如下:从.net的windows程序开发,摸到nodejs的桌面程序开发,又熟悉了一下nodejs,对“异步”的理解有了上上周对操作系统的学习而更能理解.然后发现了Node.js中的socket.io这个模块,又觉得跟前几天用.net做客户端的socket游戏了.技术世界,兜兜转转,相逢一笑,疑是故人. socket.io用来做实时web程序,解决之前的B/S程序只有无状态连接,特定需求还需要用长连接这种“奇技淫巧”的问题.当然,这是html

Socket.IO介绍:支持WebSocket、用于WEB端的即时通讯的框架

一.基本介绍 WebSocket是HTML5的一种新通信协议,它实现了浏览器与服务器之间的双向通讯.而Socket.IO是一个完全由JavaScript实现.基于Node.js.支持WebSocket的协议用于实时通信.跨平台的开源框架,它包括了客户端的JavaScript和服务器端的Node.js. Socket.IO除了支持WebSocket通讯协议外,还支持许多种轮询(Polling)机制以及其它实时通信方式,并封装成了通用的接口,并且在服务端实现了这些实时机制的相应代码.Socket.I

[Nodejs]利用Socket.IO配合Express4搭建即时聊天

Socket.IO为WebSockets这个较新的web技术提供了必要的支持,包含客户端与服务端模块,以便建立通信通道,当然也可作为中间件而存在. 1 创建一个express项目 ????????? ????? 防工具盗链抓取[如果显示此文字,代表来自第三方转发] freddon所有 ??? ??????????? 可以使用命令行初始化一个express项目 先安装express npm install express npm install express-generator express 

NodeJS+Express+Socket.io的一个简单例子

初始化一个NodeJS web应用: 打开CMD窗口. 运行cmd:"mkdir myapp",新建一个文件夹,名为myapp. 运行cmd:"cd myapp",切换到文件夹myapp. 运行cmd:"npm init",创建文件package.json. 3.Express入门应用: 在上面的CMD窗口运行cmd:"npm install express --save", 安装"express" nod

nodejs之socket.io 私发消息和选择群组发消息

写在前面:其实有的时候忙碌是好的,比如忙碌起来的自己手机可以一天耗费掉只有20%的电,忙碌的自己很专心于一件事情,但是忙碌不等于过度疲劳,本周忙碌有点上脑,迷糊了一天,都在补觉,还是要去平衡下自己一天中忙碌的时数,累了就休息下,保持一个健康的身体. 今日正题:socketio实现私发消息和群组发消息(不是很困难,一搜一大片,但还是记录下来总结) 基础连接部分在上一篇:https://www.cnblogs.com/mfyngu/p/10780737.html 1.私发消息实现 实现思路:私发消息

Node.js websocket 使用 socket.io库实现实时聊天室

认识websocket WebSocket protocol 是HTML5一种新的协议.它实现了浏览器与服务器全双工通信(full-duple).一开始的握手需要借助HTTP请求完成. 其实websocket 并不是很依赖Http协议,它也拥有自己的一套协议机制,但在这里我们需要利用的socket.io 需要依赖到http . 之前用java jsp写过一个聊天,其实实现逻辑并不难,只是大部分时间都用在UI的设计上,其实现原理就是一个基于websocket的通信,要想做一个好的聊天室,我觉得大部