Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Martin Sústrik - ZeroMQ / Nanomsg (WebElement #29)
Search
WebElement
June 19, 2014
Programming
1
260
Martin Sústrik - ZeroMQ / Nanomsg (WebElement #29)
WebElement
June 19, 2014
Tweet
Share
More Decks by WebElement
See All by WebElement
Marián Bodnárik - Ako podnikať nielen na webe (WebElement #11 Prešov)
webelement
0
370
Tomáš Kulich - Dart (WebElement #27)
webelement
0
300
Matúš Duchoň - Chrome Apps (WebElement #4 Prešov)
webelement
0
290
Igor Hlina - Coffeescript (WebElement #26)
webelement
1
110
Milan Kurečko - Foundation (WebElement #3 Prešov)
webelement
0
280
Other Decks in Programming
See All in Programming
CSC307 Lecture 05
javiergs
PRO
0
500
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.4k
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
130
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
170
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
270
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
610
Fluid Templating in TYPO3 14
s2b
0
130
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
310
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
350
What does AI have to do with Human Rights?
axbom
PRO
0
2k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
54
The browser strikes back
jonoalderson
0
390
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
450
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Building Applications with DynamoDB
mza
96
6.9k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Transcript
ØMQ / nanomsg Martin Sústrik www.250bpm.com
[email protected]
None
require 'rubygems' require 'ffi-rzmq' context = ZMQ::Context.new socket = context.socket(ZMQ::REQ)
socket.connect('tcp://localhost:5559') socket.send_string("Hello") puts socket.recv_string ('')
require 'rubygems' require 'ffi-rzmq' context = ZMQ::Context.new socket = context.socket(ZMQ::REP)
socket.bind("tcp://*:5559") while true do request = socket.recv_string ('') socket.send_string("World") end
Scalability Protocols (Messaging Patterns)
None
None
require 'rubygems' require 'ffi-rzmq' context = ZMQ::Context.new socket = context.socket(ZMQ::REQ)
socket.connect('tcp://192.168.0.1:5559') socket.connect('tcp://192.168.0.2:5559') socket.connect('tcp://192.168.0.3:5559') while true do socket.send_string("Hello") puts socket.recv_string ('') end
None
require 'rubygems' require 'ffi-rzmq' context = ZMQ::Context.new socket = context.socket(ZMQ::PUB)
socket.bind("tcp://*:5559") while true socket.send_string("Hello") sleep (1) end
require 'rubygems' require 'ffi-rzmq' context = ZMQ::Context.new socket = context.socket(ZMQ::SUB)
socket.connect("tcp://srv.example.org:5559") socket.setsockopt(ZMQ::SUBSCRIBE, "") while true do puts socket.recv_string ('') end
None
None
None
Example Multiplayer Game
None
None
None
Scaling Up (devices)
None
None
Theoretical Background
None
None
None
Work in Progress
IETF TAPS WG Coroutines in C Code Generation Monitoring Security
Transport agnostic L4 API https://github.com/sustrik/mill https://github.com/sustrik/ribosome
nanomsg.org zeromq.org