hi, for pub-sub and push-pull, probably the other as well, the wire/transportation/network protocol of NanoMsg is quite simple, apparently, the first conversation to establish the protocol/pattern, then sending message is all about a 8-byte header/length and then payload. Every port can bind for only one protocol. given the network protocol is simple, what kind of advantage we can get from using a language binding in compare to just implement the network protocol? My case is using Java, and Java has very mature async network libraries, e.g. Netty, that allow me to implement a subscriber, or maintains the channels of inbound connections as publisher, easily. On the other hand, the two bindings are relatively immature and harder to use. One step backward, the reason I wound want to use NanoMsg (at least it's protocol) is to avoid design my protocol to use defined patterns, and allow interoperability with non-Java platform. So I basically want to figure out what kind of magic the C binding does. :-) thanks, mingfai