Web socket client for SUGOS
npm install sg-socket-clientsg-socket-client
==========
[![Build Status][bd_travis_shield_url]][bd_travis_url]
[![npm Version][bd_npm_shield_url]][bd_npm_url]
[![JS Standard][bd_standard_shield_url]][bd_standard_url]
[bd_repo_url]: https://github.com/realglobe-Inc/sg-socket-client
[bd_travis_url]: http://travis-ci.org/realglobe-Inc/sg-socket-client
[bd_travis_shield_url]: http://img.shields.io/travis/realglobe-Inc/sg-socket-client.svg?style=flat
[bd_travis_com_url]: http://travis-ci.com/realglobe-Inc/sg-socket-client
[bd_travis_com_shield_url]: https://api.travis-ci.com/realglobe-Inc/sg-socket-client.svg?token=
[bd_license_url]: https://github.com/realglobe-Inc/sg-socket-client/blob/master/LICENSE
[bd_codeclimate_url]: http://codeclimate.com/github/realglobe-Inc/sg-socket-client
[bd_codeclimate_shield_url]: http://img.shields.io/codeclimate/github/realglobe-Inc/sg-socket-client.svg?style=flat
[bd_codeclimate_coverage_shield_url]: http://img.shields.io/codeclimate/coverage/github/realglobe-Inc/sg-socket-client.svg?style=flat
[bd_gemnasium_url]: https://gemnasium.com/realglobe-Inc/sg-socket-client
[bd_gemnasium_shield_url]: https://gemnasium.com/realglobe-Inc/sg-socket-client.svg
[bd_npm_url]: http://www.npmjs.org/package/sg-socket-client
[bd_npm_shield_url]: http://img.shields.io/npm/v/sg-socket-client.svg?style=flat
[bd_standard_url]: http://standardjs.com/
[bd_standard_shield_url]: https://img.shields.io/badge/code%20style-standard-brightgreen.svg
Web socket client for SUGOS
Installation
-----
``bash`
$ npm install sg-socket-client --save
Usage
---------
`javascript
'use strict'
const sgSocketClient = require('sg-socket-client')
const co = require('co')
let socket = sgSocketClient('http://localhost:8084')
socket.on('connect', () => { / ... / })
socket.on('my:event', () => { / ... / })
socket.on('disconnect', () => { / ... / })
// Using call extension
co(function * () {
// Wait for ack
let result = socket.call('my:event', { foo: 'bar' })
console.log(result)
})
// Using locking extension
co(function * () {
// Resource to lock.
let resource = 'screen'
// Start locking
// Throws error if another client lock the resource
yield socket.lock(resource)
// Stop locking
yield socket.unlock(resource)
})
``
License
-------
This software is released under the Apache-2.0 License.
Links
------
+ [socket.io-client][socket_io_client_url]
+ [SUGOS][sugos_url]
+ [Realglobe, Inc][realglobe,_inc_url]
[socket_io_client_url]: https://github.com/socketio/socket.io-client#readme
[sugos_url]: https://github.com/realglobe-Inc/sugos
[realglobe,_inc_url]: http://realglobe.jp