Skip to content


Subversion checkout URL

You can clone with
Download ZIP
An opinionated ruby library wrapping ffi-rzmq for more rubish flair.
branch: master


Gem Version Build Status Coverage Status Code Climate Dependency Status RubyDoc Documentation

An opinionated ruby library wrapping ffi-rzmq for more rubish flair.

Library is still pre-release 0.x. Everything may change anytime.


Add this line to your application's Gemfile:

gem 'rbzmq', '~> 0.1'

And then execute:

$ bundle

Or install it yourself as:

$ gem install rbzmq


You can use RbZMQ's sockets just like in the zguide but without the need to handle a context. A global context will be used automagically.

require 'rbzmq'

writer = ZMQ::PUSH
writer.connect 'tcp://'

writer.send 'My Message!'
writer.send 'My Second Message!'

reader = ZMQ::PULL
reader.bind 'tcp://'

p reader.recv.to_s
p reader.recv.to_s


See examples/ for a growing number of translated examples from the zguide.


  • RbZMQ::Reactor
  • Pimp RbZMQ::Message
  • Socket option accessors
  • Class documentation w/ examples
  • Translate zguide examples (and try to use them for auto testing)
  • Integration options into EventMachine (plus Fibers) / Celluloid (if possible)


  1. Fork it (
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request


Copyright (C) 2014 Jan Graichen

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see

Something went wrong with that request. Please try again.