2014-01-15 27 views
0

我選擇了jeroMQ來構建異步消息通道來發布來自多個客戶端的內容。另一方面,服務器端工作人員僅在服務器希望根據收到的消息通知客戶端時處理請求並通知客戶端。jeroMQ的消息庫

深入挖掘,尋找消息庫到編組/非編組消息。我找到了kvpmsg類,它爲簡單的鍵值做了工作。

不想重新發明輪子,如果一些標準庫中存在,可應用於更大的物體

回答

0

好像你所要求的數據序列化庫。查看維基百科的a list and a comparison of data serialization formats

也有一個relevant entry in ZeroMQ FAQ解釋爲什麼ZeroMQ不包括任何序列化格式:

不ØMQ包括從有線表示串行數據/ API的?

不是。這個設計決定遵循UNIX「做一件事,做得好」的UNIX理念。在ØMQ的情況下,一件事是移動消息,而不是將數據編組成二進制表示。

一些中間件產品確實提供了自己的序列化API。我們認爲這樣做會導致像CORBA這樣的臃腫的線級規範(1055頁)。相反,我們選擇使用最簡單的連線格式,以確保簡單的互操作性,效率並減少代碼(和bug)膨脹。

如果你想使用序列化庫,那裏有很多。例如見

注意,序列化的實現可能不會像你想象中那樣高性能的。您可能需要使用多種序列化格式和庫來對工作負載進行基準測試,以瞭解性能以及哪種格式/實現最適合您的使用情況(還必須考慮開發的簡易性)。

+0

有一點看了這頁後有點拖動和發佈的問題。我的目標是發送一個鍵值。但值是一個整數列表。一種解決方案是,將列表轉換爲以逗號分隔的字符串,然後通過典型的標記和解析在服務器端返回列表。我想避免後來的部分,即解析。 –

+0

是的,你自己發明的序列化格式是一個選項,我忘了提:) – vond