Skip to content

petrhosek/duct

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Duct

Duct is clone of Socket.IO in Dart which aims to be protocol-level compatible with the original implementation.

Installing

First, add the library to the list of dependencies in your pubspec.yaml file:

duct:
    git: git://github.com/petrh/duct.git

Then, run pub install to install the package.

Usage

Here is Duct used on server-side with Dart's built-in HTTP server:

#import('package:duct/duct.dart');

main() {
  var server = new HttpServer();
  var duct = new Duct(server);
  server.listen('127.0.0.1', 8080);
  
  duct.sockets.on('connection').then((socket) {
    socket.emit('news', { 'hello': 'world' });
    socket.on('my other event').then((data) {
      print(data);
    });
  }); 
}

The corresponding client-side code looks as follows:

#import('package:duct/duct.dart');

void main() {
  var socket = Duct.connect('http://localhost');
  socket.on('news').then((data) {
    print(data);
    socket.emit('my other event', { 'my': 'data' });
  });
}

Contributing

Duct is at still at the early stage of development and all contribution are more than welcome. Fork Duct on GitHub, make it awesomer and send a pull request when it is ready.

Please note that one of the Duct's design goals is to use as many Dart idioms as possible while retaining the Socket.IO compatibility.

Contributors

License

Duct is licensed under the BSD License.

About

Because every pub should have a ventilation!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages