2012-06-28 108 views
0

鑑於WP7(和WP7.5)中的套接字和XMPP存在許多問題,我曾想過要讓這個世界變得更美好......但後來出現了這種情況,很多關於網絡服務器的信息(實際上對網絡一般來說並不多)。爲XMPP創建您自己的HTTP Web服務

請注意,我不是問網絡服務器,也不是安全性,硬件,也不是託管,而是實際的代碼。此外,我不打算將其作爲全球使用的服務,而是一種免費使用的自助風險服務。

問題是,我需要做什麼來創建一個可以在wp7 +推送通知和XMPP之間充當層的Web服務?我打算在.NET中執行此操作(C#或Visual Basic,無論哪個)。這樣做的主要目標是爲gTalk客戶端創建一個服務,這個客戶端可以在推送過程中工作,但可以推廣到支持任何其他XMPP服務(如果後者不會帶來太多麻煩)。

+0

所以你想要gTalk客戶端使用HTTP(S)或者你想讓Web服務瞭解XMPP還是?我沒有跟隨。但這聽起來很有趣。 – Paparazzi

+0

我希望gTalk客戶端能夠繼續工作,即使在WP7上的後臺工作時也是如此,並且由於XMPP WP7實現的限制,我讀過的內容不太可能。如果兩者都可以工作,那麼第一個聽起來更容易。 – PedroC88

+0

我回應@Blam所說的話,聽起來很有趣。正如一個側面說明,一旦你接近實際部署它。您需要刪除推送通知限制,因此您必須[驗證您的Web服務](http://msdn.microsoft.com/zh-cn/library/ff941099(v = vs.92).aspx) – ry8806

回答

0

我不知道插座問題是什麼,但是如果您希望通過HTTP隧道傳輸XMPP,請使用BOSH(XEP-0124/XEP-0206)。一種方法是使用像Punjab這樣的BOSH代理。

+1

問題是Wp7不允許持久套接字。每當你的應用程序進入後臺WP7.x關閉你的套接字。它也不允許應用程序在後臺繼續運行。這就是爲什麼BOSH和套接字只有在您的應用程序處於活動狀態時纔會工作。 這就是許多開發人員編寫XMPP <==>推送服務器的原因。 – Alex

+0

@Alex你有一個想法,我該怎麼寫這個服務器? – PedroC88

+0

該架構是喬建議。只能使用Push來代替HTTP/BOSH。 – Alex