我的编程空间,编程开发者的网络收藏夹
学习永远不晚

node.js中使用socket.io的方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

node.js中使用socket.io的方法

使用socket.io的使用创建一个socket.io服务器即可.但是该服务器依赖于一个已经创建的http服务器.

在http服务器运行之后,使用listen方法为该http服务器附加一个socket.io服务器.

var sio=require("scoket.io");

var socket=sio.listen(server);

socket就是在server基础上创建的一个socket.io服务器.

当客户端与服务器端建立连接时,触发socket.io服务的connection事件.

socket.on("connection",function(socket){

});

回调函数中的socket参数是服务器端与客户端建立连接的socket端口对象.

当接收到客户端发送的消息时,发出socket端口对象的message事件.

socket.on("message",function(msg){

});

回调函数的参数是客户端发送的消息.

可以使用socket.send(msg)向客户端发送一个消息.

当服务器端可客户端的连接断开时触发disconnect事件.

socket.on("disconnect",funciton(){

});

该回调函数不适用任何参数.

服务器端server.js代码:

var http=require("http");

 var sio=require("socket.io");

 var fs=require("fs");

 var server=http.createServer(function (req,res) {

     res.writeHead(200,{"Content-type":"text/html"});

     res.end(fs.readFileSync("./index.html"));

 });

 server.listen(1337);

 var socket=sio.listen(server);

 socket.on("connection", function (socket) {

    console.log("客户端建立连接");

     socket.send("你好");

     socket.on("message", function (msg) {

         console.log("接收到一个消息:"+msg);

     });

     socket.on("disconnect", function () {

         console.log("客户端断开连接.");

     });

 });

创建客户端index.html代码:

<!DOCTYPE html>

 <html>

 <head lang="en">

     <meta charset="UTF-8">

     <title></title>

     <script class="lazy" data-src="/socket.io/socket.io.js"></script>

     <script>

         var socket=io.connect();

         socket.on("message", function (data) {

             console.log(data);

             socket.send("消息已接受到.")

         });

         socket.on("disconnect", function () {

             console.log("服务器端断开连接.");

         });

     </script>

 </head>

 <body>

 </body>

 </html>

这段代码:/socket.io/socket.io.js有服务器端socket.io类库提供,不需要再客户端实际放置一个socket.io.js文件.

在脚本文件中,首先使用io.connect()方法连接服务器端socket.io服务器.

该方法返回一个与服务器端建立连接的客户端socket端口对象.

当接受到服务器端发送的消息时,触发客户端socket端口对象的message事件.

socket.on("message",function(msg){

});

msg是服务器端发送的数据;

也可以使用客户端的socket对象的send()方法向服务器端发送数据.

socket.send(msg);

当服务器端断开连接时,触发客户端socket端口对象的disconnect事件,

socket.on("disconnect",function(){

})

这个回调函数不使用任何参数.

注意:

客户端的消息机制与服务器端的消息处理机制是完全一致的.因为socket.io确保客户端与服务器端共享相同的API.

运行后的结果:

查看图片

当关闭浏览器是,就断开了与服务器的连接,此时服务器端触发disconnect事件,客户端断开连接.

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

node.js中使用socket.io的方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

node.js中使用socket.io的方法

使用socket.io的使用创建一个socket.io服务器即可.但是该服务器依赖于一个已经创建的http服务器. 在http服务器运行之后,使用listen方法为该http服务器附加一个socket.io服务器.var sio=requi
2022-06-04

node.js中优雅的使用Socket.IO模块的方法

Socket.IO是一个WebSocket库,包括了客户端的js和服务器端的node.js,它的目标是构建可以在不同浏览器和移动设备上使用的实时应用,这篇文章主要介绍了node.js中优雅的使用Socket.IO模块,需要的朋友可以参考下
2022-12-08

node.js中的Socket.IO使用实例

1. 简介 首先是Socket.IO的官方网站:http://socket.io 官网非常简洁,甚至没有API文档,只有一个简单的“How to use”可以参考。因为Socket.IO就跟官网一样简洁好用易上手。 那么Socket.IO到
2022-06-04

node.js中Socket.IO的进阶使用技巧

在上一篇博文Socket.IO中,我简要介绍了Socket.IO的基本使用方法并创建了一个简单的聊天室DEMO。本篇在入门篇的基础上,继续探讨Socket.IO的进阶用法。本篇将从配置、房间、事件等方面入手,介绍一些Socket.IO中实用
2022-06-04

node.js中使用socket.io制作命名空间

如果开发者想在一个特定的应用程序中完全控制消息与事件的发送,只需要使用一个默认的"/"命名空间就足够了.但是如果开发者需要将应用程序作为第三方服务提供给其他应用程序,则需要为一个用于与客户端连接的socket端口定义一个独立的命名空间. i
2022-06-04

node.js中的socket.io的广播消息

在多个客户端与服务器端建立连接后,socket.io()服务器具有一个sockets属性,属性值为所有与客户端建立连接的socket对象.可以利用该对象的send方法或emit方法向所有客户端广播消息. io.sockets.send("u
2022-06-04

node.js中的console.trace方法使用说明

方法说明: 向标准错误流输出当前的调用栈。 语法:console.trace(label)接收参数: label 例子:console.trace();//运行结果:Trace:at Object. (/home/by
2022-06-04

node.js中的fs.existsSync方法使用说明

方法说明: 同步版的 fs.exists() 。 语法:fs.existsSync(path)由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) ) 接收参数: path 欲检测的文件路径。 源码:
2022-06-04

node.js中的fs.appendFile方法使用说明

方法说明: 该方法以异步的方式将 data 插入到文件里,如果文件不存在会自动创建。data可以是任意字符串或者缓存。 语法:fs.appendFile(filename, data, [options], callback)由于该方法属于
2022-06-04

node.js中的fs.lstat方法使用说明

方法说明: 获取文件信息(不解析符号链接)。 语法:fs.lstat(path, [callback(err, stats)])由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) ) 接收参数: p
2022-06-04

node.js中的fs.lstatSync方法使用说明

方法说明: 同步版的 lstat() 。 方法返回一个stat数组对象,包含以下信息:(以下信息为案例中读取的文件信息,非默认值){dev : 0 ,mode : 33206 ,nlink : 1 ,uid : 0 ,gid : 0 ,r
2022-06-04

node.js中的fs.renameSync方法使用说明

方法说明: 同步版的 rename() 。 语法:fs.renameSync(oldPath, newPath)由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) ) 接收参数: oldPath
2022-06-04

node.js中的fs.lchown方法使用说明

方法说明: 更改文件所有权(不解析符号链接)。 语法:fs.lchown(path, uid, gid, [callback(err)])由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) ) 接收参
2022-06-04

node.js中的fs.chownSync方法使用说明

方法说明: 同步版的 chown() 。 语法:fs.chownSync(path, uid, gid)由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) ) 接收参数: path
2022-06-04

node.js中的fs.fchown方法使用说明

方法说明: 更改文件所有权(文件描述符)。 语法:fs.fchown(fd, uid, gid, [callback(err)])由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) ) 接收参数:
2022-06-04

node.js中的fs.fchownSync方法使用说明

方法说明: 同步版的 fchown() 。 语法:fs.fchownSync(fd, uid, gid)由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) ) 接收参数: fd
2022-06-04

node.js中的fs.rmdir方法使用说明

方法说明: 以异步的方式删除文件目录。 语法:fs.rmdir(path, [callback(err)])由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) ) 接收参数: path 目录路径
2022-06-04

node.js中的fs.truncate方法使用说明

方法说明: 文件内容截取操作。 语法:fs.truncate(path, len, [callback(err)])由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) ) 接收参数: path
2022-06-04

node.js中的fs.linkSync方法使用说明

方法说明: 同步版的 fs.link() 。 语法:fs.linkSync(srcpath, dstpath)由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) ) 接收参数: srcpath
2022-06-04

node.js中的buffer.Buffer.isEncoding方法使用说明

方法说明: 检测是否为有效的编码参数,返回true 或 false。 语法:Buffer.isEncoding(encoding)接收参数: encoding {String} 被检测的编码格式 例子:var a = Buffer.is
2022-06-04

编程热搜

目录