我需要維護服務器和多個客戶端之間的連接,以便客戶端可以發送命令,並且服務器觸發事件。服務器基本上是一個音樂播放器,並且客戶端發送諸如「Play()」,「Pause()」,「GetPlaylists()」等命令。其一側的服務器需要能夠告訴客戶端諸如「SongEnded」或「PlayerPaused」。此外,它還需要能夠發送一些數據(如當前歌曲,專輯圖像,播放列表等)。我可以自己去創建一個套接字,並創建自己的協議來處理上述所有情況,但有可能有人已經在我之前完成了這個任務,所以我真正想要的是一個爲實時應用程序開發的框架, .NET服務器和客戶端之間的通信。例如,我看過xml-rpc,但不知道該如何處理「OnClientSend」。另外,如果我沒有弄錯,xml-rpc會變得像REST一樣。我也研究過wcf,但由於我沒有經驗,我不知道從哪裏開始,以及如何在簡單的控制檯應用程序中託管服務器。.NET雙向套接字實時通信協議l
重要提示:客戶端需要能夠不是.NET。
重要提示:這需要可以連接到java(android)。
重要提示:主要平臺是Windows(服務器和客戶端)和Android(客戶端)。
重要提示:沒有流式音頻。但是,圖像需要發送。
任何想法的解決方案,將不勝感激。另外,如果你有一個好的框架的鏈接,或者說明如何使用.NET中已經存在的組件,我會很開心。
[編輯] 的問題是,通過套接字發送數據時也不能保證(在所有!),您發送的包將被服務器在同一時間讀取。我可能會再發送50,然後是100,然後再發送50個字節,但服務器可能會將其讀爲200byte的塊,或者前100或100等,這意味着我需要創建一個緩衝區,讀取消息,直到我確定是問題),我收到了一條消息(沒有其他)。
它是否支持雙向通信和簡單的內部運行? – Alxandr 2010-09-07 19:58:58
是的,它確實允許 – 2010-09-07 20:11:16
發現客戶端需要爲Net才能夠使用套接字進行雙向通信。 – Alxandr 2010-09-09 14:47:32