【问题标题】:Windows Phone 7.1.1 PingWindows 电话 7.1.1 平
【发布时间】:2012-05-18 14:19:37
【问题描述】:

我正在编写一个应用程序以使用 REST Web 服务连接到第三方应用程序。

我有一个配置页面,要求输入 IP、端口、用户名和密码,目前它只是盲目地假设您输入了正确的详细信息并尝试连接。

我想创建一个测试例程,在设置配置信息时通过并检查以下步骤

  1. IP/主机名是否正确(使用 ping 或其他方式)
  2. 端口是否正确
  3. 用户名和密码是否正确

然后将结果显示在屏幕上,以便在无法连接到服务时更容易确定问题所在。

为了实现第 1 步,我想使用 Ping 或其他不依赖于打开的特定端口的等效方法。所以我可以消除不可靠的 DNS 或 IP/主机名中的拼写错误。

我从之前的问题中了解到,7.0 中无法进行 ping,但是在 Mango 中添加了套接字类,现在是否可以,如果可以,如何?如果仍然不可能,是否有其他方法可以实现第 1 步?

【问题讨论】:

    标签: windows-phone-7 sockets


    【解决方案1】:

    对于 1) 和 2),您绝对可以使用 Mango SDK。 Microsoft Research 有一个名为 TestMyNet 的应用程序(在 Marketplace 中搜索或查看此处:http://research.microsoft.com/en-us/projects/testmynet1/),它可以执行此操作以及更多功能。

    对于 3),您可以监听 HTTP 响应(例如拒绝访问错误)。

    如果可以的话,我稍后会发布一些 1) 和 2) 的代码。

    【讨论】:

    • 这几乎就是我想要做的。不幸的是,该应用程序似乎没有我能看到的任何源代码。我想我可以自己管理第 2 步和第 3 步,如果您可以为第 1 步提供任何代码,那么我可以将您的答案标记为正确。
    【解决方案2】:

    您能否在提交前使用HTTP HEAD 检查与服务器的连接?

    就整体性能而言,我只会在请求失败后尝试测试连接(取决于 HTTP 响应代码)。

    HTTP POST 之前添加额外检查只会延迟有效提交的总时间。

    【讨论】:

    • 这不是在每个请求之前,而是在用户完成设置页面的时候。我希望能够证明,如果设置错误,他们设置的 IP 正在响应且正确,但端口可能不正确。因此,如果端口错误,检查 HTTP Head 将不起作用。
    【解决方案3】:

    我做了更多的挖掘,看起来这对于当前的 7.1.1 sdk 是不可能的,因为套接字实现不支持发送原始数据报。

    我找到了一篇关于如何在 C# for Windows .Net 中执行此操作的文章,但 WP7 中不存在套接字选项(据我所知)。

    转而选择 7.8 sdk。

    【讨论】:

    • 正确,无法 ping。唯一的可能是使用套接字并尝试连接到已知端口..
    猜你喜欢
    • 2016-03-15
    • 2012-03-16
    • 2011-06-14
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多