2016-10-25 178 views
1

我想实现在我的Android应用程序中使用SignalR聊天,我从asp.net下载这个例子: https://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr 但我无法通过HubConnection使用本地主机访问它。我尝试使用我的IP地址和端口号,但它不工作。有没有人有这方面的经验?访问本地主机(Xamarin)

谢谢!

+0

如果你有一个Android设备,而本地主机是Android设备本身。每台设备或PC都是自己的本地主机。所以请更好地解释你的设置。 – greenapps

+0

感谢您的评论。我用我的电脑的IP地址,但它没有工作。 – Yupi

+0

'但它没有工作'。这是一个非常糟糕的问题描述。你应该更好地尝试并提供相关信息。 – greenapps

回答

2

假设您的应用服务器是IIS Express,由于网络限制甚至防火墙的原因,默认情况下它不会工作。

首先,你已经认识到,客户端需要连接你的机器ip,而不是localhost。类似http://x.x.x.x:port/signalr

然后,您需要确保您的机器可以通过手机或模拟器访问:打开手机中的浏览器并输入已知地址,如http://x.x.x.x:port/somethingThatExists

如果该URL不可用:

  1. 尝试禁用防火墙
  2. 打开PowerShell中的机器乳宁IIS-Express和运行这个:netsh http add urlacl url=http://{your server ip}:{port}/ user=everyone。 (如果你的系统语言不是英语,比如:西班牙语,改变“人人”到“待办事项”)

  3. 打开文件applicationhost.config在你的目录解决方案Solution/.vs/config/applicationhost.config和搜索应用程序的XML节点。类似于<site name="YourAppName" id="1">...</site>。默认情况下,您会看到localhost绑定。添加一个新的实际IP:<binding protocol="http" bindinginformation="*:port:x.x.x.x"></binding>(确保IP /端口是正确的,即:*:57457:192.168.0.57

  4. 重新启动IIS Express和再试一次(无需重新启动系统)