Skip to content

tempbottle/nanomsg.node

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nanomsg.node: nanomsg node.js bindings


License: Beerware

example usage:


var nn = require('nanomsg.node')
, pub = nn.socket(nn.AF_SP, nn.NN_PUB)
, sub = nn.socket(nn.AF_SP, nn.NN_SUB);

nn.bind(pub, "tcp://127.0.0.1:7788");
nn.connect(sub, "tcp://127.0.0.1:7788");
nn.usleep(4000); // 4 ms

nn.send(pub, "Hello from nanomsg!");

console.log("received: " + nn.recv(sub));

Functions:


nn.sleep(seconds): sleep in seconds
nn.usleep(microseconds): sleep in microseconds(1 second = 1000000 microseconds)
nn.socket(sp_type, sock_type): get socket
nn.close(socket): close socket
nn.bind(socket, address): bind to address
nn.connect(socket, address): connect to address
nn.send(socket, message): send message to socket(message is binary safe)
nn.recv(socket): recv message from socket(return binary safe message string)
nn.errno(): get errno
nn.strerror(errno): get error string
nn.setsockopt(socket, level, option, optval): set socket option(all arguments must be integer)
nn.getsockopt(socket, level, option): get socket option(all arguments must be integer)

Constants:


// SP address families.
AF_SP, AF_SP_RAW

// Socket option levels: Negative numbers are reserved for transports,
// positive for socket types.
NN_SOL_SOCKET

// Generic socket options (NN_SOL_SOCKET level).
NN_LINGER, NN_SNDBUF, NN_RCVBUF, NN_SNDTIMEO
NN_RCVTIMEO, NN_RECONNECT_IVL, NN_RECONNECT_IVL_MAX
NN_SNDPRIO, NN_SNDFD, NN_RCVFD, NN_DOMAIN, NN_PROTOCOL
NN_IPV4ONLY

// Send/recv options.
NN_DONTWAIT

// Socket types
NN_REQ, NN_REP
NN_PAIR
NN_PUSH, NN_PULL
NN_PUB, NN_SUB
NN_BUS

About

nanomsg node.js bindings

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 95.1%
  • JavaScript 3.5%
  • Python 1.4%