@ -1,45 +1,22 @@
|
||||
import { EventEmitter } from 'events'
|
||||
import { InnerClient } from '../interfaces'
|
||||
import { Transport } from '../transport'
|
||||
|
||||
export class TomcatClient extends EventEmitter implements InnerClient {
|
||||
private _id: string
|
||||
export class TomcatClient extends Transport {
|
||||
private session: javax.websocket.Session
|
||||
|
||||
server: any
|
||||
readyState: string
|
||||
remoteAddress: string
|
||||
upgraded: boolean
|
||||
request: any
|
||||
|
||||
constructor(server: any, session: javax.websocket.Session) {
|
||||
super()
|
||||
this.server = server
|
||||
this.readyState = 'open'
|
||||
super(server)
|
||||
this.remoteAddress = session + ''
|
||||
this.upgraded = true
|
||||
this.request = {
|
||||
uri: () => `${session.getRequestURI()}`,
|
||||
headers: () => []
|
||||
}
|
||||
|
||||
this.session = session
|
||||
this._id = session.getId() + ''
|
||||
this.session = session
|
||||
}
|
||||
|
||||
get id() {
|
||||
return this._id
|
||||
doSend(text: string) {
|
||||
Java.synchronized(() => this.session.getBasicRemote().sendText(text), this.session)()
|
||||
}
|
||||
send(text: string) {
|
||||
if (this.readyState == 'open') {
|
||||
Java.synchronized(() => this.session.getBasicRemote().sendText(text), this.session)()
|
||||
} else {
|
||||
console.debug(`send message ${text} to close client ${this._id}`)
|
||||
}
|
||||
}
|
||||
close() {
|
||||
if (this.readyState == 'open') {
|
||||
this.readyState = 'close'
|
||||
this.session.close()
|
||||
}
|
||||
doClose() {
|
||||
this.session.close()
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user