Skip to content

Instantly share code, notes, and snippets.

@jason-s
Created March 10, 2014 21:05
Show Gist options
  • Save jason-s/9474295 to your computer and use it in GitHub Desktop.
Save jason-s/9474295 to your computer and use it in GitHub Desktop.
package jeromq.bugs;
import org.zeromq.ZContext;
import org.zeromq.ZMQ;
import org.zeromq.ZMQ.Socket;
public class BindIssue {
public static void main(String[] args) {
System.out.printf("zeromq v%s\n",ZMQ.getVersionString());
ZContext ctx = new ZContext();
Socket s1 = ctx.createSocket(ZMQ.PUB);
Socket s2 = ctx.createSocket(ZMQ.PUB);
Socket s3 = ctx.createSocket(ZMQ.PUB);
Socket s4 = ctx.createSocket(ZMQ.PUB);
System.out.println("Created sockets");
String addrprefix = "tcp://127.0.0.1";
int port = s1.bindToRandomPort(addrprefix);
System.out.printf("Bound first socket to port %d\n", port);
sleep(100);
String addr = String.format("%s:%d", addrprefix, port);
int s2port = s2.bind(addr);
System.out.printf("Bound second socket to address %s -> returns %d\n", addr, s2port);
sleep(5000);
ctx.destroy();
}
private static void sleep(int msec) {
try {
Thread.sleep(msec);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment