feat: 完善client相关功能 重构server部分

Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
2021-08-14 12:43:20 +08:00
parent 774763be13
commit 53502e12cf
34 changed files with 2893 additions and 20 deletions

View File

@ -46,22 +46,25 @@ export class WebSocket extends EventEmitter {
try {
let TransportImpl = require('./netty').NettyWebSocket
this.client = new TransportImpl(url, subProtocol, headers)
console.debug('create websocket from ' + this.client.constructor.name)
} catch (error) {
console.error('create websocket impl error: ' + error)
console.ex(error)
return
}
this.client.on('open', (event) => {
console.debug('client WebSocket call open', this.onopen)
this.onopen?.(event)
manager.add(this)
})
this.client.on('message', (event) => this.onmessage?.(event))
this.client.on('close', (event) => {
console.log('client WebSocket call close', this.onclose)
this.onclose?.(event)
manager.del(this)
})
this.client.on('error', (event) => this.onerror?.(event))
this.client.connect()
setTimeout(() => this.client.connect(), 20)
}
get id() {
return this.client.id

View File

@ -63,7 +63,7 @@ export class NettyWebSocket extends Transport {
this._port = 80
}
}
console.debug(`constructor NettyWebSocket url: ${url} scheme: ${this._schema} host: ${this._host} port: ${this._port}`)
console.debug(`constructor NettyWebSocket url: ${url} scheme: ${this._schema} host: ${this._host} port: ${this._port} header: ${JSON.stringify(headers)}`)
}
getId() {
return this.channel?.id() + ''

View File

@ -32,9 +32,11 @@ export abstract class Transport extends EventEmitter {
}
connect() {
console.debug(`client Transport connect`)
try {
this.doConnect()
} catch (error) {
console.ex(error)
this.onerror({ error })
}
}