@2bit/osc 中文文档教程

发布于 3年前 浏览 45 项目主页 更新于 3年前

@2bit/osc

osc 由 typescript 编写的客户端/服务器

  • depends on osc-min
  • influened by node-osc
  • this package is in development phase

install

npm i @2bit/osc

How to use

import * as Osc from '../index';

const server = new Osc.Server(33333, {
    host: '0.0.0.0',
});

server.on('/test1', (args) => {
    console.log(... args);
});

server.on('/test2', (args) => {
    console.log(... args);
});

server.on('message', (address, args) => {
    console.log(address, ... args); // /test1 and /test2 will be emit
});

server.on('leaked', (address, args) => {
    console.log(address, ... args); // /test2 will be emit
});

const client = new Osc.Client('localhost', 33333);
client.send('/test1', 1, 2, false, 'hoge');
client.send('/test2', 2.3, true, 'hoge');

API

Client

  • constructor(host: string, port: uint16, options?: { maxMspCompatible?: boolean = false, recognitionInt?: boolean = false })

如果设置 maxMspCompatible true,则浮点数将为 float,否则为 double。

如果将 recognitionInt 设置为 false,则所有数字将为浮点数或双精度数(取决于 maxMspCompatible。)

  • async send(message: Osc.MessageInterface): Promise<number>
  • async send(message: Osc.BundleInterface): Promise<number>
  • async send(address: string, args: Osc.ArgumentLike[]): Promise<number>
  • async send(address: string, ... args: Osc.ArgumentLike[]): Promise<number>

返回的字节是已发送数据包的大小。

Server

  • constructor(public readonly port: number, options?: { host?: string = '0.0.0.0', strict_mode?: boolean = true })

  • on(event: 'bind', 回调: (with_reuseAddr: boolean) => void): this

  • on(event: 'listening', callback: () => void): this

  • on(event: 'error', callback: (err: Error) => void): 这个

  • on(event: 'message', listener: (address: string, args: ArgumentArray, rinfo: dgram.RemoteInfo) => void): this

  • on(event: 'leaked', listener: (address: string, args: ArgumentArray, rinfo: dgram.RemoteInfo) => void): this

  • on(event: 'bundle', listener: (bundle: Osc.BundleInterface, rinfo: dgram.RemoteInfo) => void): 这个

  • on(event: 'parse_error', listener: (err: Error, buffer: Buffer, rinfo: dgram.RemoteInfo) => void): 这个

  • on(event: string, listener: (args: ArgumentArray, rinfo: dgram.RemoteInfo) => void) ; void): 这个

Message

TODO

Bundle

TODO

@2bit/osc

osc client/server written by typescript

  • depends on osc-min
  • influened by node-osc
  • this package is in development phase

install

npm i @2bit/osc

How to use

import * as Osc from '../index';

const server = new Osc.Server(33333, {
    host: '0.0.0.0',
});

server.on('/test1', (args) => {
    console.log(... args);
});

server.on('/test2', (args) => {
    console.log(... args);
});

server.on('message', (address, args) => {
    console.log(address, ... args); // /test1 and /test2 will be emit
});

server.on('leaked', (address, args) => {
    console.log(address, ... args); // /test2 will be emit
});

const client = new Osc.Client('localhost', 33333);
client.send('/test1', 1, 2, false, 'hoge');
client.send('/test2', 2.3, true, 'hoge');

API

Client

  • constructor(host: string, port: uint16, options?: { maxMspCompatible?: boolean = false, recognitionInt?: boolean = false })

if set maxMspCompatible true, then floating point number will be float, else be double.

if set recognitionInt false, then all number will be float or double (depends maxMspCompatible.)

  • async send(message: Osc.MessageInterface): Promise<number>
  • async send(message: Osc.BundleInterface): Promise<number>
  • async send(address: string, args: Osc.ArgumentLike[]): Promise<number>
  • async send(address: string, ... args: Osc.ArgumentLike[]): Promise<number>

returns bytes is size of sent packet.

Server

  • constructor(public readonly port: number, options?: { host?: string = '0.0.0.0', strict_mode?: boolean = true })

  • on(event: 'bind', callback: (with_reuseAddr: boolean) => void): this

  • on(event: 'listening', callback: () => void): this

  • on(event: 'error', callback: (err: Error) => void): this

  • on(event: 'message', listener: (address: string, args: ArgumentArray, rinfo: dgram.RemoteInfo) => void): this

  • on(event: 'leaked', listener: (address: string, args: ArgumentArray, rinfo: dgram.RemoteInfo) => void): this

  • on(event: 'bundle', listener: (bundle: Osc.BundleInterface, rinfo: dgram.RemoteInfo) => void): this

  • on(event: 'parse_error', listener: (err: Error, buffer: Buffer, rinfo: dgram.RemoteInfo) => void): this

  • on(event: string, listener: (args: ArgumentArray, rinfo: dgram.RemoteInfo) => void): this

Message

TODO

Bundle

TODO

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文