您现在的位置是:主页 > news > 网站开发工程师是干什么的/关联词有哪些 全部
网站开发工程师是干什么的/关联词有哪些 全部
admin2025/6/6 4:51:47【news】
简介网站开发工程师是干什么的,关联词有哪些 全部,邢台网站建设哪里有,重庆市网站建设请推荐一个最简单的进销存当我十多年前开始工作时,我期望从Web(或应用程序)服务器中推送技术。 当我意识到没有这样的事情时,我感到非常失望。 如今,有很多尝试提供推送技术。 它们甚至来自HTML之类的简单技术…
请推荐一个最简单的进销存
当我十多年前开始工作时,我期望从Web(或应用程序)服务器中推送技术。 当我意识到没有这样的事情时,我感到非常失望。
如今,有很多尝试提供推送技术。 它们甚至来自HTML之类的简单技术:除了WebSockets,我最近还了解了Server-Sent Events,这是HTML5带来的另一种推送技术。 WebSocket旨在提供全双工通信,而服务器发送事件 (SSE)只是从服务器推送到客户端。 我只需要尝试一下!
当然,由于HTML5仍在编辑草稿中,因此并非所有浏览器都与SSE兼容。 此兼容性列表显示可以与SSE一起使用的浏览器。 显然,Internet Explorer不是其中之一,但除此之外,几乎是您的选择(如果您不移动)。
现在,SSE本身非常简单:
- 只需在客户端JavaScript中创建一个
EventSource
对象 - 使用正确的MIME类型和格式发送响应
让我们尝试一下。 在HTML页面上,我们创建一个EventSource
。 每当从服务器推送新事件时,都会调用onmessage
函数。
<script type='text/javascript'>varsource=newEventSource("generate");varcounter=0;source.onmessage=function(event){vartbody=document.getElementById('numbers').tBodies[0];vartr=tbody.insertRow(0);varcounterTd=tr.insertCell(0);counterTd.innerHTML=counter++;varrandomTd=tr.insertCell(1);randomTd.innerHTML=event.data;};
</script>
上面的代码段将在页面中填写两列表格,第一列为增量编号,第二列为SSE收到的消息。
接下来是服务器端。 由于我是Java的狂热小子,因此我将使用servlet来实现,但是可以使用任何有价值的Web技术。 注意响应中使用的MIME类型( "text/event-stream"
)和data
前缀:
publicclassRandomNumberServletextendsHttpServlet{@OverrideprotectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{resp.setContentType("text/event-stream");Randomrandom=newRandom();PrintWriterwriter=resp.getWriter();Stringnext="data:"+String.valueOf(random.nextInt(100)+1);System.out.println(next);writer.write(next);writer.flush();}
}
除了servlet机制和随机数生成之外,该代码还简单地在响应编写器中写入一个字符串。
永远不要忘记数据前缀,否则它将在客户端被视为错误,并且不会调用您的onmessage函数(浪费了30分钟的时间才能弄清楚)。
就是这样! 通过这两段代码,我们创建了整个推送应用程序的基础,仅使用简单的代码即可。 现在,我不建议您使用此功能,只要规范尚处于草拟阶段,但该功能实施起来如此简单,肯定会在我眼前。 但是,规格是如此之小,我会考虑立即阅读它们。
与往常一样,您可以在此处找到Maven / Eclipse格式的该项目的源代码 ,因此您可以立即使用它!
翻译自: https://blog.frankel.ch/simplest-push/
请推荐一个最简单的进销存