我必須在我的項目中實現推送通知。 它有發件人(Windows Phone窗口應用程序),wcf服務和客戶端(Windows Phone應用程序)。在windows phone 7中建立推送通知
如何更換髮件人並使用我的網址發送和接收來自客戶端的通知?
我希望發件人是仿真器本身的一些應用程序,它與客戶端並行運行並將數據連續推送到客戶端。
如何開發這樣的應用程序
任何人都可以這樣說。
我必須在我的項目中實現推送通知。 它有發件人(Windows Phone窗口應用程序),wcf服務和客戶端(Windows Phone應用程序)。在windows phone 7中建立推送通知
如何更換髮件人並使用我的網址發送和接收來自客戶端的通知?
我希望發件人是仿真器本身的一些應用程序,它與客戶端並行運行並將數據連續推送到客戶端。
如何開發這樣的應用程序
任何人都可以這樣說。
聽起來好像您正在使用兩個WP7應用程序使用推送通知功能來回發送消息。那是對的嗎?
我的理解是,您仍然需要每個設備使用訂閱成功時發回的唯一URI來訂閱推送通知服務(MS託管)。看來SL3/4可以創建HttpWebRequest對象,因此應該能夠制定一個正確的包發送,但是,我看到它會是如何獲得您想要發送該文件的設備的URI的難度。通常情況下,發送給訂閱者,訂閱者在訂閱階段返回該訂閱者的URI。
我的WCF託管代碼只有在WCF知道設備的URI,當WCF方法被調用它發送的工作原理:
public bool sendTileUpdate(string tileText, string url, string image)
{
string TilePushXML = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"<wp:Notification xmlns:wp=\"WPNotification\">" +
"<wp:Tile>" +
"<wp:BackgroundImage>{2}</wp:BackgroundImage>" +
"<wp:Count>{0}</wp:Count>" +
"<wp:Title>{1}</wp:Title>" +
"</wp:Tile>" +
"</wp:Notification>";
try
{
HttpWebRequest sendNotificationRequest = (HttpWebRequest)WebRequest.Create(url);
sendNotificationRequest.Method = "POST";
sendNotificationRequest.Headers = new WebHeaderCollection();
sendNotificationRequest.ContentType = "text/xml";
// Tile
sendNotificationRequest.Headers.Add("X-WindowsPhone-Target", "token");
sendNotificationRequest.Headers.Add("X-NotificationClass", "1");
string str = string.Format(TilePushXML, "", tileText, image);
byte[] strBytes = new UTF8Encoding().GetBytes(str);
sendNotificationRequest.ContentLength = strBytes.Length;
using (Stream requestStream = sendNotificationRequest.GetRequestStream())
{
requestStream.Write(strBytes, 0, strBytes.Length);
}
HttpWebResponse response = (HttpWebResponse)sendNotificationRequest.GetResponse();
string notificationStatus = response.Headers["X-NotificationStatus"];
string deviceConnectionStatus = response.Headers["X-DeviceConnectionStatus"];
return true;
}
catch (Exception e)
{
return false;
}
}
我知道這是一個TileNotification,但原理是一樣的。
據我所知,芒果(WP7.1 & SL4)將支持sockets,這可能是一個更適合您的設備溝通的方式!
祝你好運,
傑森。
對不起,我不關注你的意思。請澄清你的問題。此外,通知是單向的,所以你不能用它們「發送和接收來自客戶端的通知」 – ZombieSheep
我現在編輯的問題你明白嗎? – curiosity