首页 > 代码库 > soket.io源码分析(1):
soket.io源码分析(1):
我猜想这个就是源码吧,有index.js还有其他js文件的。
node-modules模块
socket.js
1.模块依赖
var Emitter = require(‘events‘).EventEmitter;
var parser = require(‘socket.io-parser‘);
var url = require(‘url‘);
var debug = require(‘debug‘)(‘socket.io:socket‘);
var assign = require(‘object-assign‘);
2.黑名单事件
说是public的。
exports.events = [
‘error‘,
‘connect‘,
‘disconnect‘,
‘disconnecting‘,
‘newListener‘,
‘removeListener‘
];
用来干什么的?
3.private是私有的
var flags = [
‘json‘,
‘volatile‘,
‘broadcast‘
];
4.获得emit方法的引用。emit是调用监听器函数,如果事件被出发。
var emit = Emitter.prototype.emit;
5.原型定义属性
function Socket(nsp, client, query){
6.那么使用了EventEmitter的原型咯。那么_proto_属性就继承了对应的方法。
Socket.prototype.__proto__ = Emitter.prototype;
7.Object.defineProperty定义一个属性并返回对象。
/**
* Apply flags from `Socket`.
*/
flags.forEach(function(flag){
Object.defineProperty(Socket.prototype, flag, {
get: function() {
this.flags[flag] = true;
return this;
}
});
});
8.buildHandShake
9.emit
10.to/in
11.send/write
12.packet
13.leave
14.leaveAll
15.onconnect
16.onpacket
17.onevent
18.ack,onack
19.ondisconnect
20.onerror
21.onclose
22.error
23.disconnect
24.compress
25.dispatch
26.use
27.run。
soket.io源码分析(1):
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。