任何人都可以给我一个使用PHP的彗星技术的一个很好和简单的例子吗? 我只需要一个使用持久HTTP连接或类似的例子。 我不想使用投票技术,因为我有类似的build议,不仅难以合作,而且还要pipe理一大笔资源。 另外我使用IIS7不是Apache。 一个很好的例子会非常有用,所以我可以从这个丑陋的轮询技术中继续。
在我的iOS应用程序中,我的窗口的rootViewController是一个标签栏控制器,其层次结构如下所示: 的UITabBarController UINavigationController 1 FirstContentController UINavigationController 2 … UINavigationController 3 … … 当用户点击FirstContentController上的某一行时, SecondController一个实例将被推送到其导航控制器上。 SecondContentController在其init方法中设置hidesBottomBarWhenPushed为YES ,并在viewWillAppear: self.navigationController.toolbarHidden设置为NO 。 在iOS 6中,用户将点击FirstController的行,并将SecondController推到导航控制器上。 因为它具有隐藏的hidesBottomBarWhenPushed设置,它会隐藏标签栏,并且,当过渡animation完成时, SecondController将在其工具栏可见的屏幕上。 但是,在iOS 7下testing时, hidesBottomBarWhenPushed的行为似乎已经改变了。 我现在看到的是: 如预期的那样标签栏隐藏 按预期方式出现工具栏 在工具栏和内容视图之间会出现一个高度为49像素(标签栏高度)的不可用空间 差距是完全无法使用的 – 它不响应触摸,如果我在主视图上设置clipsToBounds为YES,则没有任何绘制。 经过大量debugging和检查子视图层次结构后,iOS的自动调整机制将视图控制器视图的大小调整为411(在iPhone 5上)。 应该是460,直到工具栏,但布局系统似乎包括一个“鬼”49像素高的标签栏。 如果视图控制器有一个标签栏控制器作为一个,如果其父容器只会发生此问题。 在iOS 7上,如何在新控制器被按下时将标签栏消失,并且工具栏无缝滑入到位,并且仍然占用导航项和工具栏之间的整个空间? UPDATE 经过进一步调查,只有当SecondController的edgesForExtendedLayout设置为UIRectEdgeNone才会发生这种情况。 但是,除非将该属性设置为UIRectEdgeNone ,否则该视图的框架太长,并且在工具栏下面延伸,无法看到或与之交互。
BOSH是… 传输协议通过有效地使用多个同步HTTP请求/响应对而不需要使用频繁的轮询或分块响应来模拟两个实体(诸如客户端和服务器)之间的长期双向TCP连接的语义。 这听起来像WebSockets和HTTP长轮询,除了它使用两个开放的HTTP连接而不是一个,并且不扩展HTTP协议。 这两种协议有什么区别,哪种用例更喜欢WebSocket而不是BOSH?
我想添加一些Comet /服务器推送function到一个简单的Web应用程序。 我无法find最新的信息如何做到这一点。 任何人都可以给我一些例子,教程,博客,或者最近有什么引导你使用Spring MVC的 Comet吗? 万一它很重要,我使用Freemarker来呈现视图, JQuery为JavaScript框架。 除此之外:我已经知道了Lift和它内置的令人敬畏的Comet支持。 这个应用程序是我已经使用Lift实现的概念certificate。 现在我正在用Spring MVC构build它来比较和对比。 编辑:我已经开始尝试DWR 。 这不是太棒了,但我可以做一些有用的东西。 我也检查了大气 ,但我根本得不到任何牵引力。 我打开这个问题。 希望有更好的build议会进来。
问题描述 Servlet-3.0 API允许分离请求/响应上下文,并在稍后进行回答。 但是,如果我尝试写入大量的数据,如: AsyncContext ac = getWaitingContext() ; ServletOutputStream out = ac.getResponse().getOutputStream(); out.print(some_big_data); out.flush() 对于Tomcat 7和Jetty 8,它可能实际上会阻塞 – 而且会阻塞在简单的testing用例中。教程build议创build一个处理这种设置的线程池 – 巫婆通常对传统的10K架构是相反的。 但是,如果我有10,000个打开的连接和10个线程的线程池,即使只有1%的低速连接的客户端或只是阻塞的连接阻塞线程池,并完全阻止彗星响应或减速显著。 预期的做法是获得“写入就绪”通知或I / O完成通知,并继续推送数据。 这怎么可以使用Servlet-3.0 API来完成,也就是说我怎么得到: I / O操作的asynchronous完成通知。 通过写入就绪通知获取非阻塞I / O。 如果Servlet-3.0 API不支持这种情况,那么是否有任何特定于Web服务器的API(如Jetty Continuation或Tomcat CometEvent)可以asynchronous处理这些事件,而不用使用线程池伪造asynchronousI / O。 有人知道吗? 如果这是不可能的,你可以通过参考文档来确认吗? 示例代码中的问题演示 我附上了模拟事件stream的代码。 笔记: 它使用ServletOutputStream抛出IOException检测断开连接的客户端 它发送keep-alive消息,以确保客户仍然在那里 我创build了一个线程池来“模拟”asynchronous操作。 在这样的例子中,我明确定义了大小为1的线程池来显示问题: 启动应用程序 从两个terminal运行curl http://localhost:8080/path/to/app (两次) 现在用curd -dm=message […]
我的问题可能听起来很愚蠢,但我只是想确定一下: 在请求资源之前是否可以发送HTTP响应? 比如说你有一个HTML页面index.html ,它只显示一张名为img.jpg的图片。 现在,如果你的服务器知道访问者每次都会请求HTML文件,然后是JPG图片: 服务器是否可以在HTML文件后面发送图像以节省时间? 我知道HTTP是一个同步协议,所以在理论上它不应该工作,但我只是想让别人确认(或不)。
所有的HTTP响应都要求客户端启动它们,甚至是使用AJAX进行的响应。 但是GMail的聊天function能够接收来自其他用户的消息,即使我只是坐在舒适的电脑椅上观看,却不能与浏览器交互。 他们是如何做到的呢?
我已经在SO和网上阅读了很多关于我的问题标题中的关键字的post,并且从中学到了很多东西。 我读到的一些问题与具体的实施挑战有关,而另一些则关注一般概念。 我只是想确保我理解了所有的技术概念,以及为什么技术X是发明于技术Y等等的理由。 所以在这里: Http轮询:基本上AJAX,使用XmlHttpRequest。 Http长轮询: AJAX,但服务器坚持的响应,除非服务器有更新,一旦服务器有更新,它发送它,然后客户端可以发送另一个请求。 缺点是额外的头数据需要来回发送,造成额外的开销。 Http Streaming:类似于长轮询,但是服务器用“Transfer Encoding:chunked”来响应头部,因此每次服务器发送一些数据(因此保存额外的头部开销),我们不需要发起新的请求。 这里的缺点是我们必须“理解”并弄清数据的结构,以区分服务器发送的多个块。 Java Applet,Flash,Silverlight:它们提供了通过tcp / ip连接套接字服务器的能力,但由于它们是插件,开发人员不想依赖它们。 WebSockets:它们是以下列方式试图解决上述方法的缺点的新API: WebSockets相对于Java Applets,Flash或Silverlight等插件的唯一优势在于,WebSockets本身就内置于浏览器中,不依赖于插件。 WebSocket相对于HTTPstream的唯一优势是您不必花费精力来理解和parsing接收到的数据。 通过长轮询的WebSocket的唯一优点是消除额外的头大小和打开和closures请求的套接字连接。 还有什么其他重要的差异,我失踪了? 我很抱歉,如果我重复询问或将已经存在的许多问题合并成一个单一的问题,但我只想从所有关于这些概念的Web和Web上的信息中完全理解。 谢谢!
C ++ 11中final关键字的作用是什么? 我知道它可以防止派生类重写函数,但如果是这样的话,那么声明为非虚拟的final函数还不够吗? 还有什么我在这里失踪?
我已经阅读了关于这个主题的一些post,答案是彗星,反向Ajax,HTTPstream媒体,服务器推动等。 Gmail上的收到邮件通知如何工作? GMail Chat如何在没有客户端交互的情况下发出AJAX请求? 我想知道是否有任何代码引用,我可以按照写一个非常简单的例子。 许多职位或网站只是谈论技术。 很难find一个完整的示例代码。 另外,似乎有很多方法可以用来实现这个彗星,比如Hidden IFrame,XMLHttpRequest。 在我看来,使用XMLHttpRequest是一个更好的select。 你怎么看待不同方法的优劣? Gmail使用哪一个? 我知道它需要在服务器端和客户端进行。 有没有PHP和JavaScript示例代码?