打开两个 google calendar 网页端,我创建一个事件,另一个网页端很快就同步过来了
看了下,没有建立 websocket 链接, 求大佬指点,是怎么做到接近实时同步的
1 zarte 2020-11-10 11:34:39 +08:00 不是 websocket 就是 ajax 了要不然就是浏览器的 socket |
![]() | 3 shyling 2020-11-10 12:05:16 +08:00 打开页面。。然后 chrome 设置为 offine 。看什么在联网,就知道咯 |
4 henryliufeng OP @zarte 但是没有看到 ajax 请求发出去啊 |
![]() | 5 xiyuesaves 2020-11-10 13:49:25 +08:00 可以用 BroadcastChannel 来实现 [MDN]( https://developer.mozilla.org/zh-CN/docs/Web/API/Broadcast_Channel_API) 或者 localStorage(代码来自 [segmentfault]( https://segmentfault.com/a/1190000016927268)) ``` // 本窗口的设值代码 localStorage.setItem('aaa', (Math.random()*10).toString()) // 其他窗口监听 storage 事件 window.addEventListener("storage", function (e) { console.log(e) console.log(e.newValue) }) ``` |
![]() | 6 wikinee 2020-11-10 13:52:22 +08:00 你们想的是不是太简单了。。。 |
7 henryliufeng OP @xiyuesaves 不同主机这样子不行的吧 |
8 wednesdayco 2020-11-10 14:40:00 +08:00 感觉就是个轮询呢…… |
![]() | 9 wph95 2020-11-10 15:08:40 +08:00 chrome network debug 了解一下 里面有个请求 xxx.google.com/v1/acknowledgments https://calendar.google.com/calendar/u/1/sync.sync ack 那东西 参考 https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.subscriptions/acknowledge 然后你就可以去看看 pubsub google 是怎么搞的了 |
![]() | 10 LnTrx 2020-11-10 15:39:38 +08:00 FCM ? |
![]() | 11 HeyWeGo 2020-11-10 15:46:19 +08:00 第一次看这个效果还是挺新奇的,链接里用的是 web worker |
![]() | 12 HeyWeGo 2020-11-10 15:46:39 +08:00 链接我发不了,是个推特链接 |
![]() | 13 rioshikelong121 2020-11-10 15:47:01 +08:00 你用两个浏览器分别打开页面看看能不能很快同步。不能的话可能就是前端文档之间通信,可以的话就是走服务端。 |
![]() | 14 HeyWeGo 2020-11-10 15:49:07 +08:00 v 站的发帖机制太迷了! sm.ms/image/oImM5YdLwWAFnJ8 |
![]() | 15 Brooooooklyn 2020-11-10 16:44:58 +08:00 Fetch + Stream API |
16 AkideLiu 2020-11-10 16:48:17 +08:00 via iPhone 我记得上次看到差不多的问题是,Google 的 live us election 为啥不是 websocket |
![]() | 17 mascteen 2020-11-10 16:55:02 +08:00 这么容易实现就不叫谷哥了吧? |
![]() | 18 mascteen 2020-11-10 16:56:14 +08:00 肯定是有数据库同步,分布的 |
19 henryliufeng OP @wph95 感谢,感觉你说的是对的 |
20 henryliufeng OP @HeyWeGo 你发的这个也挺有意思,但是只是对一个浏览器上的不同 Tab 跨机是不行的 |
![]() | 21 weimo383 2020-12-05 21:21:47 +08:00 @Brooooooklyn 大佬,我想问问你上次发的帖子里的两道字节面试的 github 链接还在吗 |