65.9K
CodeProject 正在变化。 阅读更多。
Home

IP Relay for Visual Studio Mobile Device Web Development

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2011年3月16日

CPOL

2分钟阅读

viewsIcon

14038

downloadIcon

771

允许从移动电话模拟器访问在 localhost 上监听的 Visual Studio WebDev.WebServer

问题

您是否尝试开发一个使用 Web 服务的移动设备应用程序? 如果是,并且您的 Web 服务在您的 localhost WebDev.WebServer.EXE 上运行,那么您可能已经发现 Web 服务仅监听 127.0.0.1 IP 地址,并且您无法从移动设备模拟器连接到 Web 服务(因为设备 127.0.0.21 是其内部地址)。 我猜测 MSFT 不希望开发人员将他们的开发环境用于商业用途,因此阻止了从网络访问。

所以您有一个使用 Web 服务的移动设备应用程序,并且您没有 IIS 或其他 Web 服务器来运行您的服务。 我在网上搜索了答案,但一无所获!

解决方案

构建一个小型的软件中继 (IPRelay),它会将任何套接字连接从您的网络地址中继到您的本地主机。

IPRelay/IPRelay01.jpg

GUI 详情

IPRelay 具有非常简单和最小的 GUI,允许更改“监听”和“转发到”的 IP 地址和端口。请注意,“监听”地址将是您的计算机外部地址(或名称),而“转发到”将指向您的 Web 服务。选中“跟踪”复选框后,会将来自设备的所有数据打印在左侧,并将所有发回的数据打印在右侧。“清除”按钮用于清除两个文本框中的跟踪数据,“启动”按钮用于启动和停止路由。请注意,所有捕获的异常都会记录到右侧的文本框中。

IPRelay/IPRelay03.jpg

它是如何工作的?

  • IPRelay 监听“监听”IP 和端口上的传入套接字连接。
  • 对于每个新连接,都会创建一个新的 Relay 类。
  • 此类创建一个到“转发到”IP 和端口的套接字连接,然后创建 2 个线程,用于侦听来自两个套接字的传入套接字数据。
  • 每当每个套接字接收到数据时,它会立即转发到另一个套接字。

历史

日期 注释
2011 年 3 月 16 日 初稿
© . All rights reserved.