0.1.17 • Published 6 months ago

badman-websocket-starter v0.1.17

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

The Configurable And Extensible WebsocketServer.

There are 2 important Classes, AbstractWebSocketServerConnection and AbstractWebSocketServer. The core.

Demo APIs :

async main(){
	let logging:Logging = await SingletonObjectFactory2.init<Logging>(Logging);
	let logger:Logger = logging.logger(BadmanWebSocket.name);
	let properties:WebSocketServerProperties={
			port: 1000,
			context: 'custom',
			heartBeatInterval : 10000
	};
	new DefaultWebSocketServer(properties,logger).afterInitialized();
}

export default class DefaultWebSocketServer extends AbstractWebSocketServer<RequestBodyEntity,DefaultClientConnection>{

    constructor (serverProperties:WebSocketServerProperties,logger:Logger) {
        super(serverProperties,logger);
    }
    protected canDeleteConnection (connection: DefaultClientConnection) :boolean{
        return true;
    }

    protected newConnection (requestBody: RequestBodyEntity, ws: WebSocket): DefaultClientConnection {
        return new DefaultClientConnection(this.serverProperties,ws,requestBody);
    }

}

export default class DefaultClientConnection extends AbstractWebSocketServerConnection<RequestBodyEntity>{

    private logger:Logger;

    constructor (serverProperties:WebSocketServerProperties,ws: WebSocket, requestBody: RequestBodyEntity) {
        super(serverProperties,ws, requestBody);
        this.logger = SingletonObjectFactory2.Instance<Logging>(Logging.name).logger(DefaultClientConnection.name);
    }


    notifyClientCustomized () {
        this.sendMessage("DefaultClientConnectionDefaultClientConnectionDefaultClientConnectionDefaultClientConnection");
    }

    onMessage (msg:Buffer) {

        console.info('-------------------------------------',msg.toString());
        this.logger.info(msg.toString());
    }

}
0.1.10

9 months ago

0.1.11

9 months ago

0.1.12

9 months ago

0.1.13

8 months ago

0.1.14

7 months ago

0.1.15

6 months ago

0.1.16

6 months ago

0.1.8

9 months ago

0.1.17

6 months ago

0.1.7

9 months ago

0.1.9

9 months ago

0.1.6

10 months ago

0.1.5

10 months ago

0.1.2

11 months ago

0.1.4

11 months ago

0.1.3

11 months ago

0.10.0

11 months ago

0.1.0

11 months ago

0.1.1

11 months ago

0.0.9

11 months ago

0.0.8

12 months ago

0.0.7

12 months ago

0.0.6

12 months ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago