属性小记
// 服务端
const express = require('express');
const app = express()
const server = require('http').createServer(app);
const io = require('socket.io')(server);
// app.use((req,res)=>{
// res.json(22233)
// })
io.on('connection', (socket) => {
// 服务端监听客户端发送的信息
socket.on('message', (msg) => {
console.log('收到一条信息');
// 给除了自己所有在线的用户广播一条信息
// socket.broadcast.emit("guagnbo", io.sockets)
socket.emit("guagnbo", "ss")
// 给所有在线的用户广播一条消息
// io.sockets.emit("guagnbo","服务端提供的信息")
})
})
server.listen(3000);
/**
监听当前用户发送的消息和给当前用户触发事件监听
on 和 emit;
只有emit和send提供消息确认
*/
/*
给除了自己以外的所有在线用户广播一条信息
socket.broadcast.emit("guagnbo", "收到了,这是服务端的回信")
给所有在线的用户包括自己(如果自己也在线)广播一条消息
io.sockets.emit("guagnbo","服务端提供的信息")
*/
/**
* 客户端离线状态发送的消息,当用户连线后全部都会触发服务器相应事件的监听。
*/
/**
* 还想知道socket的什么
* 以上都只是服务端给当前客户端处理消息,并没有提到如何给指定客户端发送消息,也没有提到如何建立房间。
*/
复制代码
// 客户端
var btn = document.querySelector('button');
var socket = io("http://localhost:3000/abc");
socket.on('connect',(msg)=>{
console.log("连接服务端成功")
console.log(socket.id)
})
// 客户端主动发送信息到服务端
btn.onclick=function(e){
socket.send("客户端发送信息")
}
// 客户端监听服务端的“guagnbo”事件
socket.on('guagnbo',(msg)=>{
console.log(msg)
// fn('客户端收到了')
})
复制代码
socket属性
- socket.id
- socket.rooms
- socket._rooms
- socket.acks
- socket.connected
- socket.disconnected
- socket.fns
- socket.flags
- socket.handshake
- socket.adapter
- socket.nsp
- socket.server
- socket.client
- socket.conn
socket.id
id: 'fJUlpXTrnkPg7VqAAAAA'
复制代码
socket.rooms
{}
复制代码
socket.acks
{}
复制代码
socket.connected
true
复制代码
socket.disconnected
false
复制代码
socket.fns
[]
复制代码
socket.flags
{}
复制代码
socket._rooms
[]
复制代码
socket.handshake
headers: {
host: 'localhost:3000',
connection: 'keep-alive',
accept: '*/*',
origin: 'null',
'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36',
dnt: '1',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh,zh-CN;q=0.9,en;q=0.8',
cookie: '_ga=GA1.1.303873506.1517909567; Hm_lvt_b46541a9e9801d293566f07893cba904=1522150030,1522204209; user=%E9%92%9F%E5%AE%B6%E9%93%AD; io=eeluXKCWzmnFdlO3AAAA'
},
time: 'Sun May 13 2018 20:39:03 GMT+0800 (中国标准时间)',
address: '::1',
xdomain: true,
secure: false,
issued: 1526215143616,
url: '/socket.io/?EIO=3&transport=polling&t=MDPWl2g',
query: { EIO: '3', transport: 'polling', t: 'MDPWl2g' }
复制代码
socket.adapter
{
nsp: {
name: '/',
server: {
nsps: [Object],
parentNsps: Map { },
_path: '/socket.io',
_serveClient: true,
parser: [Object],
encoder: Encoder { },
_adapter: [Function: Adapter],
_origins: '*:*',
sockets: [Circular],
eio: [Object],
httpServer: [Object],
engine: [Object]
},
sockets: { '2pDLiPOMk-Fr3TThAAAA': [Object] },
connected: { '2pDLiPOMk-Fr3TThAAAA': [Object] },
fns: [],
ids: 0,
rooms: [],
flags: { },
adapter: [Circular],
_events: { connection: [Function] },
_eventsCount: 1
},
rooms:{ '2pDLiPOMk-Fr3TThAAAA': Room { sockets: [Object], length: 1 } },
sids: { '2pDLiPOMk-Fr3TThAAAA': { '2pDLiPOMk-Fr3TThAAAA': true } },
encoder: Encoder { }
}
复制代码
socket.nsp
{
name: '/',
server: {
nsps: {
'/': [Circular]
},
parentNsps: {},
_path: '/socket.io',
_serveClient: true,
parser: {
protocol: 4,
types: [Array],
CONNECT: 0,
DISCONNECT: 1,
EVENT: 2,
ACK: 3,
ERROR: 4,
BINARY_EVENT: 5,
BINARY_ACK: 6,
Encoder: [Function: Encoder],
Decoder: [Function: Decoder]
},
encoder: {},
_adapter: [Function: Adapter],
_origins: '*:*',
sockets: [Circular],
eio: {
clients: [Object],
clientsCount: 1,
wsEngine: 'ws',
pingTimeout: 5000,
pingInterval: 25000,
upgradeTimeout: 10000,
maxHttpBufferSize: 100000000,
transports: [Array],
allowUpgrades: true,
allowRequest: [Function: bound],
cookie: 'io',
cookiePath: '/',
cookieHttpOnly: true,
perMessageDeflate: [Object],
httpCompression: [Object],
initialPacket: [Array],
ws: [Object],
_events: [Object],
_eventsCount: 1
},
engine: {
clients: [Object],
clientsCount: 1,
wsEngine: 'ws',
pingTimeout: 5000,
pingInterval: 25000,
upgradeTimeout: 10000,
maxHttpBufferSize: 100000000,
transports: [Array],
allowUpgrades: true,
allowRequest: [Function: bound],
cookie: 'io',
cookiePath: '/',
cookieHttpOnly: true,
perMessageDeflate: [Object],
httpCompression: [Object],
initialPacket: [Array],
ws: [Object],
_events: [Object],
_eventsCount: 1
},
httpServer: {
domain: null,
_events: [Object],
_eventsCount: 5,
_maxListeners: undefined,
_connections: 1,
_handle: [Object],
_usingSlaves: false,
_slaves: [],
_unref: false,
allowHalfOpen: true,
pauseOnConnect: false,
httpAllowHalfOpen: false,
timeout: 120000,
keepAliveTimeout: 5000,
_pendingResponseData: 0,
maxHeadersCount: null,
_connectionKey: '6::::3000',
[Symbol(asyncId)]: 5
}
},
sockets: {
'BpHS-FCjMGS2y2gJAAAA': {
nsp: [Circular],
server: [Object],
adapter: [Object],
id: 'BpHS-FCjMGS2y2gJAAAA',
client: [Object],
conn: [Object],
rooms: {},
acks: {},
connected: true,
disconnected: false,
handshake: [Object],
fns: [],
flags: {},
_rooms: []
}
},
connected: {
'BpHS-FCjMGS2y2gJAAAA': {
nsp: [Circular],
server: [Object],
adapter: [Object],
id: 'BpHS-FCjMGS2y2gJAAAA',
client: [Object],
conn: [Object],
rooms: {},
acks: {},
connected: true,
disconnected: false,
handshake: [Object],
fns: [],
flags: {},
_rooms: []
}
},
fns: [],
ids: 0,
rooms: [],
flags: {},
adapter: {
nsp: [Circular],
rooms: { 'BpHS-FCjMGS2y2gJAAAA': [Object] },
sids: { 'BpHS-FCjMGS2y2gJAAAA': [Object] },
encoder: {}
},
_events: { connection: [Function] },
_eventsCount: 1
}
复制代码
socket.server
{
nsps: {
'/': {
name: '/',
server: [Circular],
sockets: [Object],
connected: [Object],
fns: [],
ids: 0,
rooms: [],
flags: {},
adapter: [Object],
_events: [Object],
_eventsCount: 1
}
},
parentNsps: {},
_path: '/socket.io',
_serveClient: true,
parser: {
protocol: 4,
types: ['CONNECT',
'DISCONNECT',
'EVENT',
'ACK',
'ERROR',
'BINARY_EVENT',
'BINARY_ACK'],
CONNECT: 0,
DISCONNECT: 1,
EVENT: 2,
ACK: 3,
ERROR: 4,
BINARY_EVENT: 5,
BINARY_ACK: 6,
Encoder: [Function: Encoder],
Decoder: [Function: Decoder]
},
encoder: {},
_adapter: [Function: Adapter],
_origins: '*:*',
sockets: {
name: '/',
server: [Circular],
sockets: { DbVOQepDl8PDxk5iAAAA: [Object] },
connected: { DbVOQepDl8PDxk5iAAAA: [Object] },
fns: [],
ids: 0,
rooms: [],
flags: {},
adapter: {
nsp: [Circular],
rooms: [Object],
sids: [Object],
encoder: {}
},
_events: { connection: [Function] },
_eventsCount: 1
},
eio: {
clients: { DbVOQepDl8PDxk5iAAAA: [Object] },
clientsCount: 1,
wsEngine: 'ws',
pingTimeout: 5000,
pingInterval: 25000,
upgradeTimeout: 10000,
maxHttpBufferSize: 100000000,
transports: ['polling', 'websocket'],
allowUpgrades: true,
allowRequest: [Function: bound],
cookie: 'io',
cookiePath: '/',
cookieHttpOnly: true,
perMessageDeflate: { threshold: 1024 },
httpCompression: { threshold: 1024 },
initialPacket: ['0'],
ws: {
domain: null,
_events: {},
_eventsCount: 0,
_maxListeners: undefined,
options: [Object]
},
_events: { connection: [Function: bound] },
_eventsCount: 1
},
engine: {
clients: { DbVOQepDl8PDxk5iAAAA: [Object] },
clientsCount: 1,
wsEngine: 'ws',
pingTimeout: 5000,
pingInterval: 25000,
upgradeTimeout: 10000,
maxHttpBufferSize: 100000000,
transports: ['polling', 'websocket'],
allowUpgrades: true,
allowRequest: [Function: bound],
cookie: 'io',
cookiePath: '/',
cookieHttpOnly: true,
perMessageDeflate: { threshold: 1024 },
httpCompression: { threshold: 1024 },
initialPacket: ['0'],
ws: {
domain: null,
_events: {},
_eventsCount: 0,
_maxListeners: undefined,
options: [Object]
},
_events: { connection: [Function: bound] },
_eventsCount: 1
},
httpServer: {
domain: null,
_events: {
connection: [Function: connectionListener],
close: [Function: bound],
listening: [Function: bound],
upgrade: [Function],
request: [Function]
},
_eventsCount: 5,
_maxListeners: undefined,
_connections: 1,
_handle: {
reading: false,
owner: [Circular],
onread: null,
onconnection: [Function: onconnection],
writeQueueSize: 0
},
_usingSlaves: false,
_slaves: [],
_unref: false,
allowHalfOpen: true,
pauseOnConnect: false,
httpAllowHalfOpen: false,
timeout: 120000,
keepAliveTimeout: 5000,
_pendingResponseData: 0,
maxHeadersCount: null,
_connectionKey: '6::::3000',
[Symbol(asyncId)]: 5
}
}
复制代码
socket.client
{
server: {
nsps: { '/': [Object] },
parentNsps: {},
_path: '/socket.io',
_serveClient: true,
parser: {
protocol: 4,
types: [Array],
CONNECT: 0,
DISCONNECT: 1,
EVENT: 2,
ACK: 3,
ERROR: 4,
BINARY_EVENT: 5,
BINARY_ACK: 6,
Encoder: [Function: Encoder],
Decoder: [Function: Decoder]
},
encoder: {},
_adapter: [Function: Adapter],
_origins: '*:*',
sockets: {
name: '/',
server: [Circular],
sockets: [Object],
connected: [Object],
fns: [],
ids: 0,
rooms: [],
flags: {},
adapter: [Object],
_events: [Object],
_eventsCount: 1
},
eio: {
clients: [Object],
clientsCount: 1,
wsEngine: 'ws',
pingTimeout: 5000,
pingInterval: 25000,
upgradeTimeout: 10000,
maxHttpBufferSize: 100000000,
transports: [Array],
allowUpgrades: true,
allowRequest: [Function: bound],
cookie: 'io',
cookiePath: '/',
cookieHttpOnly: true,
perMessageDeflate: [Object],
httpCompression: [Object],
initialPacket: [Array],
ws: [Object],
_events: [Object],
_eventsCount: 1
},
engine: {
clients: [Object],
clientsCount: 1,
wsEngine: 'ws',
pingTimeout: 5000,
pingInterval: 25000,
upgradeTimeout: 10000,
maxHttpBufferSize: 100000000,
transports: [Array],
allowUpgrades: true,
allowRequest: [Function: bound],
cookie: 'io',
cookiePath: '/',
cookieHttpOnly: true,
perMessageDeflate: [Object],
httpCompression: [Object],
initialPacket: [Array],
ws: [Object],
_events: [Object],
_eventsCount: 1
},
httpServer: {
domain: null,
_events: [Object],
_eventsCount: 5,
_maxListeners: undefined,
_connections: 1,
_handle: [Object],
_usingSlaves: false,
_slaves: [],
_unref: false,
allowHalfOpen: true,
pauseOnConnect: false,
httpAllowHalfOpen: false,
timeout: 120000,
keepAliveTimeout: 5000,
_pendingResponseData: 0,
maxHeadersCount: null,
_connectionKey: '6::::3000',
[Symbol(asyncId)]: 5
}
},
conn: {
id: 'XxfVb9yEIAWNfBG8AAAA',
server: {
clients: [Object],
clientsCount: 1,
wsEngine: 'ws',
pingTimeout: 5000,
pingInterval: 25000,
upgradeTimeout: 10000,
maxHttpBufferSize: 100000000,
transports: [Array],
allowUpgrades: true,
allowRequest: [Function: bound],
cookie: 'io',
cookiePath: '/',
cookieHttpOnly: true,
perMessageDeflate: [Object],
httpCompression: [Object],
initialPacket: [Array],
ws: [Object],
_events: [Object],
_eventsCount: 1
},
upgrading: false,
upgraded: false,
readyState: 'open',
writeBuffer: [],
packetsFn: [],
sentCallbackFn: [],
cleanupFn: [[Function], [Function]],
request: {
_readableState: [Object],
readable: true,
domain: null,
_events: {},
_eventsCount: 0,
_maxListeners: undefined,
socket: [Object],
connection: [Object],
httpVersionMajor: 1,
httpVersionMinor: 1,
httpVersion: '1.1',
complete: true,
headers: [Object],
rawHeaders: [Array],
trailers: {},
rawTrailers: [],
upgrade: false,
url: '/socket.io/?EIO=3&transport=polling&t=MDPhlAg',
method: 'GET',
statusCode: null,
statusMessage: null,
client: [Object],
_consuming: false,
_dumped: true,
_query: [Object],
res: [Object],
cleanup: [Function: cleanup]
},
remoteAddress: '::ffff:127.0.0.1',
checkIntervalTimer: null,
upgradeTimeoutTimer: null,
pingTimeoutTimer: {
_called: false,
_idleTimeout: 30000,
_idlePrev: [Object],
_idleNext: [Object],
_idleStart: 2787,
_onTimeout: [Function],
_timerArgs: undefined,
_repeat: null,
_destroyed: false,
[Symbol(asyncId)]: 15,
[Symbol(triggerAsyncId)]: 11
},
transport: {
readyState: 'open',
discarded: false,
closeTimeout: 30000,
maxHttpBufferSize: 100000000,
httpCompression: [Object],
supportsBinary: true,
_events: [Object],
_eventsCount: 5,
sid: 'XxfVb9yEIAWNfBG8AAAA',
req: null,
res: null,
writable: false
},
_events: {
close: [Array],
data: [Function: bound],
error: [Function: bound]
},
_eventsCount: 3
},
encoder: {},
decoder: { reconstructor: null, _callbacks: { '$decoded': [Array] } },
id: 'XxfVb9yEIAWNfBG8AAAA',
request: {
_readableState: {
objectMode: false,
highWaterMark: 16384,
buffer: [Object],
length: 0,
pipes: null,
pipesCount: 0,
flowing: true,
ended: true,
endEmitted: false,
reading: false,
sync: true,
needReadable: false,
emittedReadable: true,
readableListening: false,
resumeScheduled: true,
destroyed: false,
defaultEncoding: 'utf8',
awaitDrain: 0,
readingMore: true,
decoder: null,
encoding: null
},
readable: true,
domain: null,
_events: {},
_eventsCount: 0,
_maxListeners: undefined,
socket: {
connecting: false,
_hadError: false,
_handle: [Object],
_parent: null,
_host: null,
_readableState: [Object],
readable: true,
domain: null,
_events: [Object],
_eventsCount: 10,
_maxListeners: undefined,
_writableState: [Object],
writable: true,
allowHalfOpen: true,
_bytesDispatched: 375,
_sockname: null,
_pendingData: null,
_pendingEncoding: '',
server: [Object],
_server: [Object],
_idleTimeout: 5000,
_idleNext: [Object],
_idlePrev: [Object],
_idleStart: 2800,
_destroyed: false,
parser: [Object],
on: [Function: socketOnWrap],
_paused: false,
read: [Function],
_consuming: true,
_httpMessage: null,
_peername: [Object],
[Symbol(asyncId)]: 7,
[Symbol(bytesRead)]: 0,
[Symbol(asyncId)]: 9,
[Symbol(triggerAsyncId)]: 5
},
connection: {
connecting: false,
_hadError: false,
_handle: [Object],
_parent: null,
_host: null,
_readableState: [Object],
readable: true,
domain: null,
_events: [Object],
_eventsCount: 10,
_maxListeners: undefined,
_writableState: [Object],
writable: true,
allowHalfOpen: true,
_bytesDispatched: 375,
_sockname: null,
_pendingData: null,
_pendingEncoding: '',
server: [Object],
_server: [Object],
_idleTimeout: 5000,
_idleNext: [Object],
_idlePrev: [Object],
_idleStart: 2800,
_destroyed: false,
parser: [Object],
on: [Function: socketOnWrap],
_paused: false,
read: [Function],
_consuming: true,
_httpMessage: null,
_peername: [Object],
[Symbol(asyncId)]: 7,
[Symbol(bytesRead)]: 0,
[Symbol(asyncId)]: 9,
[Symbol(triggerAsyncId)]: 5
},
httpVersionMajor: 1,
httpVersionMinor: 1,
httpVersion: '1.1',
complete: true,
headers: {
host: 'localhost:3000',
connection: 'keep-alive',
accept: '*/*',
origin: 'null',
'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36',
dnt: '1',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh,zh-CN;q=0.9,en;q=0.8',
cookie: '_ga=GA1.1.303873506.1517909567; Hm_lvt_b46541a9e9801d293566f07893cba904=1522150030,1522204209; user=%E9%92%9F%E5%AE%B6%E9%93%AD; io=DbVOQepDl8PDxk5iAAAA'
},
rawHeaders: [
'Host',
'localhost:3000',
'Connection',
'keep-alive',
'Accept',
'*/*',
'Origin',
'null',
'User-Agent',
'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36',
'DNT',
'1',
'Accept-Encoding',
'gzip, deflate, br',
'Accept-Language',
'zh,zh-CN;q=0.9,en;q=0.8',
'Cookie',
'_ga=GA1.1.303873506.1517909567; Hm_lvt_b46541a9e9801d293566f07893cba904=1522150030,1522204209; user=%E9%92%9F%E5%AE%B6%E9%93%AD; io=DbVOQepDl8PDxk5iAAAA'
],
trailers: {},
rawTrailers: [],
upgrade: false,
url: '/socket.io/?EIO=3&transport=polling&t=MDPhlAg',
method: 'GET',
statusCode: null,
statusMessage: null,
client: {
connecting: false,
_hadError: false,
_handle: [Object],
_parent: null,
_host: null,
_readableState: [Object],
readable: true,
domain: null,
_events: [Object],
_eventsCount: 10,
_maxListeners: undefined,
_writableState: [Object],
writable: true,
allowHalfOpen: true,
_bytesDispatched: 375,
_sockname: null,
_pendingData: null,
_pendingEncoding: '',
server: [Object],
_server: [Object],
_idleTimeout: 5000,
_idleNext: [Object],
_idlePrev: [Object],
_idleStart: 2800,
_destroyed: false,
parser: [Object],
on: [Function: socketOnWrap],
_paused: false,
read: [Function],
_consuming: true,
_httpMessage: null,
_peername: [Object],
[Symbol(asyncId)]: 7,
[Symbol(bytesRead)]: 0,
[Symbol(asyncId)]: 9,
[Symbol(triggerAsyncId)]: 5
},
_consuming: false,
_dumped: true,
_query: { EIO: '3', transport: 'polling', t: 'MDPhlAg' },
res: {
domain: null,
_events: [Object],
_eventsCount: 1,
_maxListeners: undefined,
output: [],
outputEncodings: [],
outputCallbacks: [],
outputSize: 0,
writable: true,
_last: false,
upgrading: false,
chunkedEncoding: false,
shouldKeepAlive: true,
useChunkedEncodingByDefault: true,
sendDate: true,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
_contentLength: null,
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
socket: null,
connection: null,
_header: 'HTTP/1.1 200 OK\r\nContent-Type: text/plain; charset=UTF-8\r\nContent-Length: 103\r\nAccess-Control-Allow-Credentials: true\r\nAccess-Control-Allow-Origin: null\r\nSet-Cookie: io=XxfVb9yEIAWNfBG8AAAA; Path=/; HttpOnly\r\nDate: Sun, 13 May 2018 13:27:07 GMT\r\nConnection: keep-alive\r\n\r\n',
_onPendingData: [Function: bound updateOutgoingData],
_sent100: false,
_expect_continue: false,
statusMessage: 'OK',
statusCode: 200,
[Symbol(outHeadersKey)]: null
},
cleanup: [Function: cleanup]
},
onclose: [Function: bound],
ondata: [Function: bound],
onerror: [Function: bound],
ondecoded: [Function: bound],
sockets: {
XxfVb9yEIAWNfBG8AAAA: {
nsp: [Object],
server: [Object],
adapter: [Object],
id: 'XxfVb9yEIAWNfBG8AAAA',
client: [Circular],
conn: [Object],
rooms: {},
acks: {},
connected: true,
disconnected: false,
handshake: [Object],
fns: [],
flags: {},
_rooms: []
}
},
nsps: {
'/': {
nsp: [Object],
server: [Object],
adapter: [Object],
id: 'XxfVb9yEIAWNfBG8AAAA',
client: [Circular],
conn: [Object],
rooms: {},
acks: {},
connected: true,
disconnected: false,
handshake: [Object],
fns: [],
flags: {},
_rooms: []
}
},
connectBuffer: []
}
复制代码
socket.conn
{
id: 'L99Yrojc8dUPP4IyAAAA',
server: {
clients: { L99Yrojc8dUPP4IyAAAA: [Circular] },
clientsCount: 1,
wsEngine: 'ws',
pingTimeout: 5000,
pingInterval: 25000,
upgradeTimeout: 10000,
maxHttpBufferSize: 100000000,
transports: ['polling', 'websocket'],
allowUpgrades: true,
allowRequest: [Function: bound],
cookie: 'io',
cookiePath: '/',
cookieHttpOnly: true,
perMessageDeflate: { threshold: 1024 },
httpCompression: { threshold: 1024 },
initialPacket: ['0'],
ws: {
domain: null,
_events: {},
_eventsCount: 0,
_maxListeners: undefined,
options: [Object]
},
_events: { connection: [Function: bound] },
_eventsCount: 1
},
upgrading: false,
upgraded: false,
readyState: 'open',
writeBuffer: [],
packetsFn: [],
sentCallbackFn: [],
cleanupFn: [[Function], [Function]],
request: {
_readableState: {
objectMode: false,
highWaterMark: 16384,
buffer: [Object],
length: 0,
pipes: null,
pipesCount: 0,
flowing: true,
ended: true,
endEmitted: false,
reading: false,
sync: true,
needReadable: false,
emittedReadable: true,
readableListening: false,
resumeScheduled: true,
destroyed: false,
defaultEncoding: 'utf8',
awaitDrain: 0,
readingMore: true,
decoder: null,
encoding: null
},
readable: true,
domain: null,
_events: {},
_eventsCount: 0,
_maxListeners: undefined,
socket: {
connecting: false,
_hadError: false,
_handle: [Object],
_parent: null,
_host: null,
_readableState: [Object],
readable: true,
domain: null,
_events: [Object],
_eventsCount: 10,
_maxListeners: undefined,
_writableState: [Object],
writable: true,
allowHalfOpen: true,
_bytesDispatched: 375,
_sockname: null,
_pendingData: null,
_pendingEncoding: '',
server: [Object],
_server: [Object],
_idleTimeout: 5000,
_idleNext: [Object],
_idlePrev: [Object],
_idleStart: 841,
_destroyed: false,
parser: [Object],
on: [Function: socketOnWrap],
_paused: false,
read: [Function],
_consuming: true,
_httpMessage: null,
_peername: [Object],
[Symbol(asyncId)]: 7,
[Symbol(bytesRead)]: 0,
[Symbol(asyncId)]: 9,
[Symbol(triggerAsyncId)]: 5
},
connection: {
connecting: false,
_hadError: false,
_handle: [Object],
_parent: null,
_host: null,
_readableState: [Object],
readable: true,
domain: null,
_events: [Object],
_eventsCount: 10,
_maxListeners: undefined,
_writableState: [Object],
writable: true,
allowHalfOpen: true,
_bytesDispatched: 375,
_sockname: null,
_pendingData: null,
_pendingEncoding: '',
server: [Object],
_server: [Object],
_idleTimeout: 5000,
_idleNext: [Object],
_idlePrev: [Object],
_idleStart: 841,
_destroyed: false,
parser: [Object],
on: [Function: socketOnWrap],
_paused: false,
read: [Function],
_consuming: true,
_httpMessage: null,
_peername: [Object],
[Symbol(asyncId)]: 7,
[Symbol(bytesRead)]: 0,
[Symbol(asyncId)]: 9,
[Symbol(triggerAsyncId)]: 5
},
httpVersionMajor: 1,
httpVersionMinor: 1,
httpVersion: '1.1',
complete: true,
headers: {
host: 'localhost:3000',
connection: 'keep-alive',
accept: '*/*',
origin: 'null',
'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36',
dnt: '1',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh,zh-CN;q=0.9,en;q=0.8',
cookie: '_ga=GA1.1.303873506.1517909567; Hm_lvt_b46541a9e9801d293566f07893cba904=1522150030,1522204209; user=%E9%92%9F%E5%AE%B6%E9%93%AD; io=XxfVb9yEIAWNfBG8AAAA'
},
rawHeaders: ['Host',
'localhost:3000',
'Connection',
'keep-alive',
'Accept',
'*/*',
'Origin',
'null',
'User-Agent',
'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36',
'DNT',
'1',
'Accept-Encoding',
'gzip, deflate, br',
'Accept-Language',
'zh,zh-CN;q=0.9,en;q=0.8',
'Cookie',
'_ga=GA1.1.303873506.1517909567; Hm_lvt_b46541a9e9801d293566f07893cba904=1522150030,1522204209; user=%E9%92%9F%E5%AE%B6%E9%93%AD; io=XxfVb9yEIAWNfBG8AAAA'],
trailers: {},
rawTrailers: [],
upgrade: false,
url: '/socket.io/?EIO=3&transport=polling&t=MDPkJ-k',
method: 'GET',
statusCode: null,
statusMessage: null,
client: {
connecting: false,
_hadError: false,
_handle: [Object],
_parent: null,
_host: null,
_readableState: [Object],
readable: true,
domain: null,
_events: [Object],
_eventsCount: 10,
_maxListeners: undefined,
_writableState: [Object],
writable: true,
allowHalfOpen: true,
_bytesDispatched: 375,
_sockname: null,
_pendingData: null,
_pendingEncoding: '',
server: [Object],
_server: [Object],
_idleTimeout: 5000,
_idleNext: [Object],
_idlePrev: [Object],
_idleStart: 841,
_destroyed: false,
parser: [Object],
on: [Function: socketOnWrap],
_paused: false,
read: [Function],
_consuming: true,
_httpMessage: null,
_peername: [Object],
[Symbol(asyncId)]: 7,
[Symbol(bytesRead)]: 0,
[Symbol(asyncId)]: 9,
[Symbol(triggerAsyncId)]: 5
},
_consuming: false,
_dumped: true,
_query: { EIO: '3', transport: 'polling', t: 'MDPkJ-k' },
res: {
domain: null,
_events: [Object],
_eventsCount: 1,
_maxListeners: undefined,
output: [],
outputEncodings: [],
outputCallbacks: [],
outputSize: 0,
writable: true,
_last: false,
upgrading: false,
chunkedEncoding: false,
shouldKeepAlive: true,
useChunkedEncodingByDefault: true,
sendDate: true,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
_contentLength: null,
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
socket: null,
connection: null,
_header: 'HTTP/1.1 200 OK\r\nContent-Type: text/plain; charset=UTF-8\r\nContent-Length: 103\r\nAccess-Control-Allow-Credentials: true\r\nAccess-Control-Allow-Origin: null\r\nSet-Cookie: io=L99Yrojc8dUPP4IyAAAA; Path=/; HttpOnly\r\nDate: Sun, 13 May 2018 13:38:23 GMT\r\nConnection: keep-alive\r\n\r\n',
_onPendingData: [Function: bound updateOutgoingData],
_sent100: false,
_expect_continue: false,
statusMessage: 'OK',
statusCode: 200,
[Symbol(outHeadersKey)]: null
},
cleanup: [Function: cleanup]
},
remoteAddress: '::1',
checkIntervalTimer: null,
upgradeTimeoutTimer: null,
pingTimeoutTimer: {
_called: false,
_idleTimeout: 30000,
_idlePrev: {
_idleNext: [Circular],
_idlePrev: [Circular],
_timer: [Object],
_unrefed: false,
msecs: 30000,
nextTick: false
},
_idleNext: {
_idleNext: [Circular],
_idlePrev: [Circular],
_timer: [Object],
_unrefed: false,
msecs: 30000,
nextTick: false
},
_idleStart: 829,
_onTimeout: [Function],
_timerArgs: undefined,
_repeat: null,
_destroyed: false,
[Symbol(asyncId)]: 15,
[Symbol(triggerAsyncId)]: 11
},
transport: {
readyState: 'open',
discarded: false,
closeTimeout: 30000,
maxHttpBufferSize: 100000000,
httpCompression: { threshold: 1024 },
supportsBinary: true,
_events: {
error: [Object],
packet: [Function: bound],
drain: [Array],
close: [Object],
headers: [Function]
},
_eventsCount: 5,
sid: 'L99Yrojc8dUPP4IyAAAA',
req: null,
res: null,
writable: false
},
_events: {
close: [[Object], [Function: bound]],
data: [Function: bound],
error: [Function: bound]
},
_eventsCount: 3
}
复制代码