我正在計劃一個程序的網絡通信系統。該程序分爲一個客戶端和一個服務器類,但如果它們太大,我可能會將它們分成單獨的程序,而其他任何程序都無法阻止它。目前,所有的網絡通信都是在服務器上調用set和get函數(其中大約500個,我希望在典型操作中,每8個客戶端每秒產生大約500-1,600個請求) 。通過網絡調用函數的最佳方式是什麼?
我目前的計劃是使用基本的網絡API將機器代碼啓發的Opcode作爲字符串以及幾個字節的參數發送到服務器,並讓服務器選擇函數並使用大量的參數解釋參數switch
聲明。
但是,如果有數百個可能的函數調用,將會導致A)難於閱讀,並且B)執行速度慢。我也關心大型交換機語句的性能。
鑑於此,任何人都可以確認這是通過網絡實現函數調用的最佳方式,還是告訴我是否有更好的方法。我很喜歡一個神奇的API,允許做類似x = callServerFunc(server, function, parameter1...)
的事情,但我的搜索還沒有找到這樣一個庫。
我想你想要搜索的是「C++ RPC庫」 – Brian
主要基於觀點:「許多優秀的問題基於專家經驗產生一定程度的意見,但對這個問題的回答往往幾乎完全基於意見,而不是事實,參考或具體的專業知識。「 –