我想使用SignalR在我的Android应用程序中实现聊天,我从asp.net下载此示例: https://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr 但我无法通过HubConnection使用localhost访问它。我尝试使用我的IP地址和端口号,但它无法正常工作。有没有人有这方面的经验?
谢谢!
答案 0 :(得分:2)
假设您的应用服务器是IIS Express,由于网络限制甚至防火墙,它默认不起作用。
首先,正如您已经意识到的那样,客户端需要连接您的计算机IP,而不是localhost。像http://x.x.x.x:port/signalr
然后,您需要确保可以通过手机或模拟器访问您的计算机:打开手机中的浏览器并输入已知地址,例如http://x.x.x.x:port/somethingThatExists
。
如果该网址不可用:
在运行IIS-Express的计算机上打开powershell并运行:netsh http add urlacl url=http://{your server ip}:{port}/ user=everyone
。 (如果你的系统语言不是英语,例如:西班牙语,将“everyone”改为“todos”)
在目录解决方案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
)
重新启动IIS Express并重试(无需重启系统)