2012-07-28 91 views
2

我需要創建一個併發RPC服務器,它能夠同時處理來自客戶端的多個請求。併發RPC服務器

在linux(基於sun RPC)中使用rpcgen編譯器,它不支持爲併發服務器創建存根的-A選項。 (該-A選項是Solaris提供)

感激,如果有人能夠提供這方面的一些想法:

  1. 什麼是建立在Linux併發RPC服務器的方式。一些Google搜索建議對存根進行更改,這不是一個好主意。
  2. 任何其他RPC軟件包可用 - 替代sun rpc。

回答

2

這是這樣一個老帖子,肯定你應該已經解決了這個問題,但它可以是有益的給別人:

在「的rpcgen」 RPC在GNU提供的編譯器工具鏈的相應選項爲 「-M」,例如:

rpcgen -M your_xdr_file.x

的昌在生成的代碼中,e是簡單而優雅的:調用者必須在客戶端存根將寫入響應的地方分配緩衝區。這是線程安全API中的常見行爲。所以會發生在服務器存根中,並且服務器中出現掛鉤(稱爲「PROGRAMNAME_VERSION_freeresult」),您將有機會釋放在服務器端執行呼叫時可能分配的所有資源。

希望它可以幫助別人!