add events to server, add ability to close client and server
This commit is contained in:
parent
2261bf8b3e
commit
56338f2262
3 changed files with 39 additions and 3 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "ts-osc",
|
"name": "ts-osc",
|
||||||
"version": "0.2.6",
|
"version": "0.3.0",
|
||||||
"description": "Fully TypeScript-native OSC Client based on osc-min",
|
"description": "Fully TypeScript-native OSC Client based on osc-min",
|
||||||
"main": "./lib/index.js",
|
"main": "./lib/index.js",
|
||||||
"types": "./lib/index.d.ts",
|
"types": "./lib/index.d.ts",
|
||||||
|
|
|
||||||
|
|
@ -39,4 +39,12 @@ export class OSCClient {
|
||||||
const encoded = toBuffer(address, [arg]);
|
const encoded = toBuffer(address, [arg]);
|
||||||
this.sendPacket(encoded);
|
this.sendPacket(encoded);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Close the connection
|
||||||
|
*/
|
||||||
|
|
||||||
|
public close(): void {
|
||||||
|
this.socket.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,17 +22,31 @@ export declare interface OSCServer {
|
||||||
@event
|
@event
|
||||||
*/
|
*/
|
||||||
on(event: 'listening', listener: () => void): this;
|
on(event: 'listening', listener: () => void): this;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Emitted when OSC socket is closed
|
||||||
|
@event
|
||||||
|
*/
|
||||||
|
|
||||||
|
on(event: 'close', listener: () => void): this;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Emitted whenever an error occurs
|
||||||
|
@event
|
||||||
|
*/
|
||||||
|
|
||||||
|
on(event: 'error', listener: (exception: Error) => void): this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* OSC Client, handles sending OSC messages
|
* OSC Server, handles receiving OSC messages
|
||||||
|
|
||||||
```
|
```
|
||||||
const osc = new OSCServer("192.168.0.44", 8000);
|
const osc = new OSCServer("192.168.0.44", 8000);
|
||||||
```
|
```
|
||||||
*/
|
*/
|
||||||
export class OSCServer extends EventEmitter {
|
export class OSCServer extends EventEmitter {
|
||||||
private socket: dgram.Socket;
|
public socket: dgram.Socket;
|
||||||
|
|
||||||
constructor(bindAddress: string, port: number) {
|
constructor(bindAddress: string, port: number) {
|
||||||
super();
|
super();
|
||||||
|
|
@ -43,6 +57,12 @@ export class OSCServer extends EventEmitter {
|
||||||
this.socket.on('listening', () => {
|
this.socket.on('listening', () => {
|
||||||
this.emit('listening');
|
this.emit('listening');
|
||||||
});
|
});
|
||||||
|
this.socket.on('close', () => {
|
||||||
|
this.emit('close');
|
||||||
|
});
|
||||||
|
this.socket.on('error', (e) => {
|
||||||
|
this.emit('error', e);
|
||||||
|
});
|
||||||
|
|
||||||
this.socket.on('message', (msg) => {
|
this.socket.on('message', (msg) => {
|
||||||
const decoded = fromBuffer(msg);
|
const decoded = fromBuffer(msg);
|
||||||
|
|
@ -57,4 +77,12 @@ export class OSCServer extends EventEmitter {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* close the server
|
||||||
|
*/
|
||||||
|
|
||||||
|
public close(): void {
|
||||||
|
this.socket.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue