SignalR在移动网络上
SignalR on mobile web?
我正在评估SignalR技术在我们的新产品中的应用(面向广大受众的移动网络应用程序,除其他外,它需要在某些页面上进行实时聊天)。
我已经按照指南创建了一个非常基本的聊天演示。然后,我在IIS上部署了演示,并开始与自己聊天。所有客户端都在同一个WiFi网络上。
桌面浏览器工作或多或少还可以。
然而,iOS 4.2上的Safari和WP7.10上的IE都很糟糕。有时,当我按下"发布"按钮时,什么也没发生。有时传出的消息会正常发送到桌面firefox,但没有传入的消息。
也许我错过了一些显而易见的东西?也许我需要jquery手机而不是普通的?也许我应该调整IIS/web.config/什么,SignalR就会蓬勃发展,即使在糟糕的移动互联网上也能完美工作?
或者这是否意味着,由于它即使在距离网络服务器一跳的WiFi上也不起作用,我应该放弃SignalR,只写一些JavaScript来轮询JSON端点以获取新消息?
提前感谢!
我一直在为Android和IPhone开发一款带有phonegap(即使用Safari浏览器)和SignalR的应用程序。我遇到的主要问题是iOS 6.x,因为SignalR没有连接到默认配置。我找到了一个解决办法,并在这里进行了解释。如果你觉得有用,请告诉我。
此代码将模拟连接、检查消息、断开连接并等待5秒以解决iOS问题。
在js中添加
$.connection.hub.start({ transport: 'longPolling' }).done(function (myHubConnection) { });
并在Application_Start()中添加
GlobalHost.Configuration.ConnectionTimeout = TimeSpan.FromSeconds(1);
Microsoft.AspNet.SignalR.Transports.LongPollingTransport.LongPollDelay = 5000;
RouteTable.Routes.MapHubs();
并非所有的移动浏览器(如android、opera-mini)都支持websocket。您可以在上找到一个很好的支持浏览器的图表http://www.hanselman.com/blog/YourUsersDontCareIfYouUseWebSockets.aspx
- 通过Magento的网络服务检索运费
- Google/html5语音识别JavaScript SDK Chrome网络工具包SpeechRecognition
- 使用acess代币登录Facebook,并通过网络应用程序离线发布
- 如何使用密码检测网络中的状态连接
- ASP.NET网络摄像头显示
- 如何在OpenERP中实现网络摄像头
- 链接两个网页或网络应用程序的最佳方式
- 在ES6中,模块将导致多个网络调用,因为两个模块不能在单个文件中定义
- RabbitMQ与通过网络的stomp适配器
- 输入文本框为空时的阻止按钮asp.网络表单
- 为网络游戏制作动画
- 无法获取vis.js最后一个或第一个选定的网络节点
- 网络语音API-再次讲话(重置句子)
- 如何建立一个网页,检查我的路由器网络接口是否可以访问
- 查找AJAX获取和发布时使用的网络数据的obsolute或可能的估计值
- 如何减少在移动网络应用程序上播放声音的延迟
- 在Android网络应用程序中查找SD卡的路径
- 如何使用神经网络和突触库来制作项目定价估计器
- JQuery和Javascript没有'在我的项目中不起作用,但在网络上起作用
- 如何处理IOS网络应用程序中的空锚点