Soo*_*nts 8 javascript asp.net .net-4.5 signalr
我正在评估SignalR技术用于我们的新产品(面向广大受众的移动网络应用程序,以及其他需要在某些页面上进行实时聊天的内容).
我按照指南创建了一个非常基本的聊天演示.然后我在我的IIS上部署了该演示,并开始与自己聊天.所有客户都在同一个WiFi网络上.
桌面浏览器或多或少都可以.
但是,iOS 4.2上的Safari和WP7.10上的IE - 它们都很糟糕.有时当我按下"发布"按钮时没有任何反应.有时外发消息被发送到桌面firefox,但是没有传入消息.
也许我错过了一些明显的东西?也许我需要jquery mobile而不是正常的?也许我应该调整IIS/web.config /无论如何,即使通过糟糕的移动互联网,SignalR也会蓬勃发展并开始完美运行?
或者它是否意味着,因为即使在从Web服务器单跳的WiFi上也不起作用,我应该抛弃SignalR并且只是编写一些JavaScript来轮询JSON端点以获取新消息?
提前致谢!
我一直在开发一个带有phonegap的应用程序(这意味着使用Safari浏览器)和SignalR for Android和IPhone.我遇到的主要问题是iOS 6.x,因为SignalR没有连接默认配置.我找到了解决方法,我在这里解释了它.如果您发现它有用,请告诉我.
此代码将模拟连接,检查消息,断开连接并等待5秒以解决iOS问题.
在js中添加
$.connection.hub.start({ transport: 'longPolling' }).done(function (myHubConnection) { });
Run Code Online (Sandbox Code Playgroud)
并在Application_Start()中添加
GlobalHost.Configuration.ConnectionTimeout = TimeSpan.FromSeconds(1);
Microsoft.AspNet.SignalR.Transports.LongPollingTransport.LongPollDelay = 5000;
RouteTable.Routes.MapHubs();
Run Code Online (Sandbox Code Playgroud)
并非所有移动浏览器(例如 android、opera mini)都支持 websocket。您可以在http://www.hanselman.com/blog/YourUsersDontCareIfYouUseWebSockets.aspx找到一个很好的支持浏览器图表。
| 归档时间: |
|
| 查看次数: |
4049 次 |
| 最近记录: |