我想實現一個應用/線程,用於偵聽另一個應用/線程已在偵聽的ipaddr:port
。我知道我需要更新這兩個應用程序,以便在bind()
之前設置setsockopt(...)
中的SO_REUSEADDR
,以避免當第二個應用嘗試使用bind()
時出現「地址已被使用」錯誤。如何在zmq :: setsockopt()中設置SO_REUSEADDR選項(如果可能)或任何解決方法?
問題是這些應用程序(libs)在自己使用ZeroMQ的現有系統中。我無法直接使用linux socket lib。我只能使用ZeroMQ套接字。
顯然zmq::setsockopt()
不瞭解SO_REUSEADDR
作爲選項,因爲它沒有在zmq.h
標題中定義。至少沒有ZMQ_SO_REUSEADDR
或者可能是我沒有使用正確的選項。
有人可以幫我解決這個問題。 ZMQ插座是否支持SO_REUSEADDR
或根本不支持,在這種情況下該如何解決這個問題?