Windows8JavaScript应用程序中的StreamSockets

Windows8JavaScript应用程序中的StreamSockets,javascript,sockets,networking,microsoft-metro,Javascript,Sockets,Networking,Microsoft Metro,我对网络世界很陌生,我正在尝试创建一个需要网络的Windows8 Metro风格的应用程序 我基本上想使用StreamSockets通过internet连接两台计算机 我已经能够使用“localhost”作为主机名连接在同一台计算机上运行的两个不同的应用程序。(就像他们在官方的Microsoft StreamSocket示例中所做的那样) 但是,如果要通过internet连接两台计算机,我不确定主机名应该是什么 谢谢访问远程计算机有两种不同的情况: 如果您要连接的计算机是家庭计算机,并且通过网络

我对网络世界很陌生,我正在尝试创建一个需要网络的Windows8 Metro风格的应用程序

我基本上想使用
StreamSockets
通过internet连接两台计算机

我已经能够使用
“localhost”
作为主机名连接在同一台计算机上运行的两个不同的应用程序。(就像他们在官方的Microsoft StreamSocket示例中所做的那样)

但是,如果要通过internet连接两台计算机,我不确定主机名应该是什么


谢谢

访问远程计算机有两种不同的情况:

  • 如果您要连接的计算机是家庭计算机,并且通过网络提供商DSL连接到internet,并且公用IP(internet看到的那个)不是专用的(固定的),那么您可能必须将路由器配置为“www.dyndns.org”(或任何其他),路由器将在其更改时更新IP。你必须给电脑命名,比如“myfriend.myhouse.net”。如果IP是固定的,则在路由器关闭/打开时不会更改,然后直接使用IP而不是主机名。看见 无论哪种情况,您都需要打开路由器(NAT)中的端口,以便路由器将数据包发送到正确的内部IP。请阅读路由器手册以获取帮助

  • 如果要连接到的计算机属于某个域,即企业,则需要与他们的网络管理团队进行沟通。他们可以打开或允许您访问他们的网络

  • 解决这些问题后,您可以使用上面的主机“myfriend.myhouse.net”而不是“localhost”连接到计算机


    可以在internet上找到更多关于“远程桌面”或“远程访问我的家庭计算机”的帮助。

    很可能是计算机的IP地址
    localhost
    将解析为
    127.0.0.1
    。我认为它应该是一个IP地址。但是我不知道如果它们和我的电脑不在同一个网络中,我怎么能得到它们。非常感谢你的回答。如果我想创建一个多人游戏呢?两台玩sesion的计算机中的一台也将充当主机?客户端如何发现它的IP并连接到它?谢谢。要查找计算机的IP地址,您需要一个主机名,例如myname.myhost.net。这个域名可以购买,看,是我用的。你可以买一个域名,在不同的地方有几台电脑;computerONE.mydoain.net、computerTWO.mydomain.net等。这些计算机通过路由器传播其IP地址,或在每台计算机上运行一个特殊程序,更新DNS提供商中主机的IP,例如dyndns。是的,我现在明白了。但是,如果两个随机玩家下载并玩我的多人游戏,我会让一个脚本在他们的一台计算机上创建一个套接字服务器。另一个必须找到不使用DNS提供程序的服务器IP地址。基本上这两台计算机将直接连接。客户端是否有办法在没有DNS提供商的情况下查找服务器的IP地址?提前谢谢!可能是我在你的问题中遗漏了什么,但据我所知,没有任何东西可以替代DNS。恐怕您必须有DNS,客户端才能找到服务器IP。这就是你连接到任何网页时所做的。它们需要位于DNS中,以便浏览器可以找到其IP,除非您知道其IP地址。此外,您可以通过电话或电子邮件通知您的客户新的IP,并在游戏中放置一个输入框,客户可以在每次连接到服务器时输入IP。