2010-12-06 27 views
6

o istemciden sunucuya bir aracı ve yolları mesajlar gibi davranır ve tekrar.İstek-cevap aracısı zeromq örneğini herkes açıklayabilir mi? Ben app genel özü alıyorum <a href="http://zguide.zeromq.org/chapter:all" rel="nofollow">http://zguide.zeromq.org/chapter:all</a></p> <p>: Ben Zeromq belgelerinde 'A Talep-Cevap Broker' atıfta ediyorum

Ancak, bir sunucudan doğru yanıtın, isteği özgün olarak yapan doğru istemciye gönderilmesini nasıl sağladığından emin değilim. Kod örneğinde bunun hakkında emin olan hiçbir şey göremiyorum.

Şimdi örnekte sadece 1 mesaj (merhaba) ve 1 cevabı (dünya) gönderiyorlar, bu yüzden mesajlar karıştırılsa bile önemli değil, ama testclient ve sunucunun kasıtlı olarak basit tutulduğunu tahmin ediyorum . Bölüm 3 a hepsi de Tamam

Herhangi bir düşünce bekliyoruz ...

cevap

9

Tüm zeromq yuvalarının kendileriyle ilişkili bir kimliği vardır. (Bu kimliği zmq_getsockopt() ile edinebilirsiniz.)

XREQ veya XREP değil iki yönlü soket tipleri için, bu kimlik otomatik olarak soket üzerinden gönderilen her iletinin bir parçası olarak aktarılır. REP soketi, yanıt mesajını uygun sokete geri yönlendirmek için bu kimliği kullanır. Bu otomatik yönlendirme etkisine sahiptir.

Kapağın altında, kimlikler çok parçalı mesajlarla aktarılır. Çok parçalı bir mesajdaki ilk mesaj, soket kimliğini içerecektir. Boş bir mesaj takip edilecek, ardından kullanıcı tarafından belirtilen tüm mesajlar takip edilecektir. REQ ve REP soketleri bu öntanımlı mesajlarla otomatik olarak ilgilenir. Ancak, XREQ veya XREP yuvaları kullanıyorsanız, bu kimlik mesajlarını kendiniz doldurmanız gerekir.

ZMQ Guide'da "kimlik" için arama yaparsanız, kimlikleri ve soket yönlendirme nasıl çalıştığını bilmek istediğiniz tüm ayrıntıları bulabilirsiniz.

1

ani req/solunum paterni invisubly kullanan bir 'zarf' altta yatan bir kavram olduğunu açıklar.

Bu, nasıl çalıştığını açıklar.