2013-03-03 4 views
9

JZMQ (java binding of zmq) 소켓이 연결되어 있는지 확인하는 방법이 있습니까?JZMQ 소켓이 연결되어 있는지 확인하는 방법

ZContext zmqContext = new ZContext(); 
ZMQ.Socket workerSocket = zmqContext.createSocket(ZMQ.DEALER); 
workerSocket.setIdentity("ID".getBytes()); 
workerSocket.connect("tcp://localhost:5556"); 

위 코드를 작성한 후 workerSocket이 연결되어 있는지 확인하고 싶습니다. 연결 상태를 확인하는 것이 좋습니다.

답변

10

아니요, API에 소켓이 연결되어 있는지 확인하는 방법은 없습니다.

ZeroMq는 네트워크를 추상화합니다. 클라이언트와 서버 연결은 연결을 만드는 피어에게 완전히 투명합니다. 클라이언트 또는 서버는 존재하지 않는 피어에게 메시지를 보낼 수 있습니다. 오류가 생성되지 않습니다. 대신 HWM 설정을 기반으로 소켓 버퍼에 대기열에 포함됩니다.

피어 가용성을 확인하려면 시간 초과 요소와 함께 동기 요청/응답 하트 비트를 수동으로 사용하십시오. 여기 예제가 있습니다. 도움이되기를 바랍니다!

요청/답장을위한 샘플을 확인하십시오! https://github.com/imatix/zguide/tree/master/examples/

+1

링크가 작동하지 않습니다. 어쩌면 당신은 당신의 대답에 약간의 표본을 추가 할 수 있습니까? :) 이것은 googles 캐시의 블로그 항목입니다. http://webcache.googleusercontent.com/search?q=cache:ty68WXOpHXEJ:od-eon.com/blogs/stefan/checking-availability-zeromq-endpoint/+&cd= 2 & hl = de & ct = clnk – Theolodis

+0

thx, updated link : 기본 요청/답장 예제를 찾고있는 경우 다양한 대상 언어에 대한 정보가 많이 있습니다. https://github.com/imatix/zguide/tree/master/ 예/'rr'접두사가 붙은 예제는 요청/응답 샘플을 나타냅니다. – raffian

+0

감사합니다. 개인적으로, 나는 ususlly 나 자신도 할 수 있지만, 이것을 보았고 링크를 알아 차렸다. 그래서 나는 알고 싶다고 생각했다;) – Theolodis

관련 문제