2
就在ZeroMQ documentation的REP插座,它說:ZeroMQ REQ-REP:檢查回覆通過
如果原始請求不存在任何更多的答覆丟棄。
在我的項目中,我想知道做出原始請求的實體不再存在並正在偵聽答覆。換句話說,如果回覆將被丟棄,我想要拋出一個錯誤。
這樣的事情是可能的嗎?或者我必須使用一些單獨的頻道來檢查請求者或收到答覆時的某種ACK嗎?
就在ZeroMQ documentation的REP插座,它說:ZeroMQ REQ-REP:檢查回覆通過
如果原始請求不存在任何更多的答覆丟棄。
在我的項目中,我想知道做出原始請求的實體不再存在並正在偵聽答覆。換句話說,如果回覆將被丟棄,我想要拋出一個錯誤。
這樣的事情是可能的嗎?或者我必須使用一些單獨的頻道來檢查請求者或收到答覆時的某種ACK嗎?
您應該使用單獨的通道來跟蹤請求者,因爲zmq套接字無法知道這一點。
爲了達到這個目的,您可以使用請求/回覆套接字,但可能會遇到性能問題,因爲固有地,您在做出回覆之前會做出另一個請求/回覆。
Entity1 Entity2
Request -------------- Reply
Reply -------------- Request
和通信流量將
Entity1 --------> request -----> Entity2
Entity1 <------- request <----- Entity2
Entity1 -------- reply ------> Entity2
Entity1 <------- reply ------- Entity2
這現在的方式提供保證ENTITY1不會是可用於接收的答覆,但提高了它的可能性。
不管怎樣,將請求者狀態請求回覆者可能不是一個好主意。