# roomproxy

> A simple events boradcast module base on room

Latest version **0.2.13** (published 2014-04-14) · MIT license · 0 weekly downloads

## Install

```sh
npm install roomproxy
pnpm add roomproxy
yarn add roomproxy
bun add roomproxy
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.2.13 |
| Published | 2014-04-14 |
| First published | 2014-03-21 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | King Chung |
| Maintainers | kingchung |
| Keywords | realtime, room, boradcast |

## Links

- npm: https://www.npmjs.com/package/roomproxy
- Repository: https://github.com/Kimgils/RoomProxy
- Issues: https://github.com/Kimgils/RoomProxy/issues
- npm.io page: https://npm.io/package/roomproxy

## Dependencies (3)

- [socket.io](https://npm.io/package/socket.io.md) >=0.9.16
- [uglify-js](https://npm.io/package/uglify-js.md) >=2.4.13
- [underscore](https://npm.io/package/underscore.md) >=1.5.2

## Alternatives

- [@opentelemetry/exporter-zipkin](https://npm.io/package/@opentelemetry/exporter-zipkin.md) — 14.8M weekly downloads
- [pusher-js](https://npm.io/package/pusher-js.md) — 2.0M weekly downloads
- [browserify](https://npm.io/package/browserify.md) — 1.7M weekly downloads
- [sqs-consumer](https://npm.io/package/sqs-consumer.md) — 1.7M weekly downloads
- [@sanity/eventsource](https://npm.io/package/@sanity/eventsource.md) — 930.8K weekly downloads

## Recent versions

- 0.2.13 (latest) — 2014-04-14
- 0.2.12 — 2014-04-14
- 0.2.11 — 2014-04-11
- 0.2.10 — 2014-04-08
- 0.2.9 — 2014-04-08
- 0.2.8 — 2014-04-04
- 0.2.7 — 2014-04-04
- 0.2.6 — 2014-04-04
- 0.2.5 — 2014-04-04
- 0.2.4 — 2014-04-04
- 0.2.3 — 2014-04-04
- 0.2.2 — 2014-04-04
- 0.2.1 — 2014-04-01
- 0.2.0 — 2014-04-01
- 0.1.9 — 2014-04-01
- … 9 more at https://npm.io/package/roomproxy/versions

## README

#RoomProxy

> 你若触发，我就广播。

RoomProxy是一个群组事件广播模块。它有几个feature：

1. 群组在这里被命名为房间（Room），一个房间可以有多个成员（Client）。
2. Room实现`订阅/发布`模式，可通过API进行任意事件绑定与发布，触发的事件会广播到Room内每个成员。
3. 模块只实现Client之间的通知、通讯功能，业务逻辑交还调用者设定。


##使用方法

###引入依赖库###
	
	//groupproxy库
	<script src="http://localhost:8080/roomproxy.js"></script>
	
###创建RoomProxy实例
	
	var proxy = new RoomProxy('http://localhost:3000');

`RoomProxy`对象在引入的时候会赋予全局对象；初始化需要传入参数为socket连接地址。

###APIs

####RoomProxy

#####joinRoom(string roomName, [string userIds], [function callback])#####

	//用法一
	proxy.joinRoom('test', function(room){
		//do somethings
	});
	
	//用法二
	var room = proxy.joinRoom('test2');
	//do somethings
	
	

#####leaveRoom(string roomName)#####

#####getRoom(string roomName)#####
	
	var room = proxy.getRoom('test');
	//do somethings

####Room

#####on(string event, function callback) | emit(string event, JSON data)
	
	var room = proxy.getRoom('test');
	
	//绑定`message`事件
	room.on('message', function(err, data){
		if(! err)
			console.log(data); //{roomName: 'test', event: 'message', data: {message: 'hello world'}}
	});
	
	//广播触发`message`事件
	room.emit('message', {message: 'hello world.'});

#####getInfo(function callback) 

暂时只返回'client_ids'.

	room.getInfo(function(data){
		console.log(data); //{client_ids: [xxx,yyy,zzz]}
	});

---
_Source: https://npm.io/package/roomproxy · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
