我正在通過TCP/IP實現JSON RPC連接,我有一個基本問題。目前我使用的是同步方法,效果很好。在C#中實現TCP/IP JSONRPC連接 - 需要設計建議
我可以給
{"id":1,"jsonrpc":"2.0","method":"Input.Home"}
和接收
{"id":1,"jsonrpc":"2.0","result":true}
這工作沒有任何問題。收到通知時會出現此問題。這些可以在任何時候無法預料地到達。我正在與XBMC JSON RPC API交互。如果XBMC發送了通知,我一次收到多個JSON請求。例如。
{"jsonrpc":"2.0","method":"GUI.OnScreensaverActivated","params":{"data":null,"sender":"xbmc"}}{"jsonrpc":"2.0","method":"GUI.OnScreensaverDeactivated","params":{"data":null,"sender":"xbmc"}}
這會導致JSON.NET崩潰,並且可以理解。我的第一個直覺是我需要異步接收這些通知,以便我不必等到下一個方法被調用來接收它們。然而,這使我上面展示的簡單例子變得複雜,因爲我不能再使用同步調用。即
SendJson(json);
result = ReceiveJson();
是否有一個乾淨的方法來實現這一點,而不是過度複雜化?任何/所有的建議表示讚賞。
這正是我想要的。謝謝! – mouser58907 2012-05-04 02:05:57