2012-05-18 44 views
3

我正在編寫一個應用程序,使用REST Web服務連接到第三方應用程序。Windows Phone 7.1.1 Ping

我有一個配置頁面,要求輸入IP,端口,用戶名&密碼,目前它只是盲目地假設你輸入正確的細節並嘗試連接。

我想創建一個測試例程,經過和檢查折以下步驟設置的配置信息

  1. 當IP /主機名正確(使用ping或東西)
  2. 是端口正確
  3. 是用戶名密碼&正確

然後顯示在屏幕上,因爲它是怎麼回事,這樣,如果它不能連接到自身的結果服務器可以更容易地確定問題所在。

要實現步驟1,我想使用Ping或一些不依賴特定端口的等價物。因此,我可以消除惡意的DNS或IP /主機名中的打字錯誤。

我從以前的問題了解到,ping在7.0中是不可能的,但是用Mango套接字類已經加入了,現在有可能嗎?如果仍然不可能,我可以通過不同的方式實現第1步?

回答

0

我已經做了更多的挖掘工作,看起來對於當前的7.1.1 sdk來說這是不可能的,因爲套接字實現不支持發送原始數據報。

我發現了一篇關於如何在C#中爲Windows.Net實現的文章,但是WP7中的套接字選項並不存在(據我所知)。

手指越過7.8 sdk代替。

+0

正確,ping是不可能的。唯一的可能性是使用套接字並嘗試連接到已知的端口.. –

0

您可以在提交之前使用HTTP HEAD檢查到服務器的連接嗎?

就整體性能而言,我只會嘗試在請求失敗(並取決於HTTP響應代碼)後測試連接。

在使HTTP POST只會延遲有效提交的總時間之前添加額外支票。

+0

這不是每次請求之前,只是當用戶將完成設置頁面。我希望能夠證明,如果設置錯誤,它們設置的IP是響應和正確的,但端口可能不正確。因此,如果端口錯誤,檢查HTTP頭將不起作用。 – Matt

1

對於1)和2)您可以明確地使用Mango SDK。微軟研究院有一個名爲TestMyNet的應用程序(在Marketplace中搜索或看看這裏:http://research.microsoft.com/en-us/projects/testmynet1/),它可以做到這一點或更多。

對於3)您可以監聽HTTP respose(例如Access denied errors)。

如果我管理的話,稍後我會發布1)和2)的一些代碼。

+0

這幾乎是我想要做的。不幸的是,應用程序似乎沒有任何我能看到的源代碼。我想我可以自己管理步驟2和步驟3,如果您可以提供步驟1的任何代碼,那麼我可以將您的答案標記爲正確。 – Matt