用Scala实现简单的Web和API服务器(25)
}
initialize
}
注意尽管你输入的消息你自己可以立即看到,但其他人只有刷新页面,或者输入自己的消息迫使messageList重新加载,才能看到你的消息。本文的最后一节将介绍怎样让所有人立即看到你的消息,而不需要手动刷新。
利用Websockets实时更新页面
推送更新的概念和简单:每次提交新消息后,就将消息”推送"到所有监听中的浏览器上,而不是等待浏览器刷新并“拉取”更新后的数据。实现这一目的有多种方法。本文我们使用Websockets。
Websockets可以让浏览器和服务器在正常的HTTP请求-响应流之外互相发送消息。连接一旦建立,任何一方都可以在任何时间发送消息,消息可以包含任意字符串或任意字节。
我们要实现的流程如下:
网站加载后,浏览器建立到服务器的websocket连接连接建立后,浏览器将发送消息"0"到服务器,表明它已准备好接收更新服务器将响应初始的txt,其中包含所有已经渲染的消息,以及一个index,表示当前的消息计数每当收到消息时,浏览器就会将最后看到的index发送给服务器,然后等待新消息出现,再按照步骤3进行响应在服务器上实现这一点的关键就是保持所有已打开的连接的集合:
推荐阅读
- 三国杀|三国杀:谁是技能最简单的武将,返璞归真,这就是武将基本元素!
- ag战队|关键的卡位赛,AG超玩会却上了猫神,原因很简单,但是却很心酸
- ps3|魔兽怀旧服:专业打“补丁”的装备,虽然获取简单,但能弥补短处
- 左慈|三国杀:技能缝接,超强发挥,用左慈就能实现
- 地下城堡|LOL手游上分总结,中单最简单上单没人帮,快手投大钱招新主播
- |《英雄联盟手游》当前版本最强上分英雄公布,阿克尚最强团战“利器”,上分很简单
- 商人|游戏商人的月入百万是真的吗?揭秘真实的剑三游戏商人真实现状
- 黄忠|五个能秒坦克的射手,香香仅排第五,榜首瞬秒脆皮太简单
- fly|从电竞迈向艺术:Fly选手实现人生跨越,成历史第一人!
- 炸弹人|英雄联盟手游:炸弹人+石头人走下,简单又强力啊