草庐IT

Messaging

全部标签

java - 使用 Redis 实现 JMS/AMQP 消息传递模式

当我遇到一些提及(例如this)时出现了这个问题,关于使用诸如ZeroMQ之类的消息传递软件以及Redis,但我一直听说Redis本身使用消息传递系统.那么,如果Redis与其他消息系统一起使用,是否意味着Redis单独用作消息系统时存在一些严重的缺陷?虽然我很清楚使用Redis进行缓存和发布/订阅,但不清楚是否可以使用Redis代替成熟的消息传递系统,例如JMS、AMQP或零MQ。撇开标准合规性不谈,只关注功能/特性,Redis是否支持消息传递系统所需的所有消息传递模式/模型?我所说的消息传递模式是:RPC/请求-回复(一个example使用ActiveMQ/JMS和another使

javascript - Firebase:更改服务 worker 的位置

我正在尝试使用Firebase消息传递(网络)。Firebase默认搜索包含服务worker的文件“firebase-messaging-sw.js”。ServiceWorker脚本应该在应用程序的绝对路径上!例如:http://localhost/firebase-messaging-sw.js如何更改此默认位置?!搜索官方文档我发现了这个方法:useServiceWorker它接受服务worker注册,但尝试使用它时我得到一个错误,该方法甚至不存在!那么,如何更改用于firebase消息传递的serviceworker的位置? 最佳答案

javascript - Firebase:更改服务 worker 的位置

我正在尝试使用Firebase消息传递(网络)。Firebase默认搜索包含服务worker的文件“firebase-messaging-sw.js”。ServiceWorker脚本应该在应用程序的绝对路径上!例如:http://localhost/firebase-messaging-sw.js如何更改此默认位置?!搜索官方文档我发现了这个方法:useServiceWorker它接受服务worker注册,但尝试使用它时我得到一个错误,该方法甚至不存在!那么,如何更改用于firebase消息传递的serviceworker的位置? 最佳答案

c - select() 如何提醒 fd 变为 "ready"?

我不知道为什么我很难找到这个,但我正在查看一些我们使用的linux代码select()等待文件描述符报告它已准备就绪。从选择的手册页:select()andpselect()allowaprogramtomonitormultiplefiledescriptors,waitinguntiloneormoreofthefiledescriptorsbecome"ready"forsomeclassofI/Ooperation所以,那太好了……我在某个描述符上调用select,给它一些超时值并开始等待指示消失。文件描述符(或描述符的所有者)如何报告它已“准备好”,以便select()语句返

c - select() 如何提醒 fd 变为 "ready"?

我不知道为什么我很难找到这个,但我正在查看一些我们使用的linux代码select()等待文件描述符报告它已准备就绪。从选择的手册页:select()andpselect()allowaprogramtomonitormultiplefiledescriptors,waitinguntiloneormoreofthefiledescriptorsbecome"ready"forsomeclassofI/Ooperation所以,那太好了……我在某个描述符上调用select,给它一些超时值并开始等待指示消失。文件描述符(或描述符的所有者)如何报告它已“准备好”,以便select()语句返

android - Google Cloud Messaging - CCS (XMPP) 与 HTTP 服务器

我已阅读文档https://developer.android.com/google/gcm/index.html我能看到的唯一区别是基于CCS(XMPP)的服务器允许在android设备和GCM服务器之间直接进行双向通信。还有什么其他原因让您选择CCS(XMPP)而不是HTTP,反之亦然? 最佳答案 CCS(XMPP)是异步的,这意味着它应该比HTTP更快。它还使用设备上现有的GCM连接将消息从您的应用程序发送到您的服务器(这样可以节省电池电量,因为您不必打开自己的服务器连接)。另一方面,HTTP编码要简单得多,因此除非您需要双向

android - Google Cloud Messaging - CCS (XMPP) 与 HTTP 服务器

我已阅读文档https://developer.android.com/google/gcm/index.html我能看到的唯一区别是基于CCS(XMPP)的服务器允许在android设备和GCM服务器之间直接进行双向通信。还有什么其他原因让您选择CCS(XMPP)而不是HTTP,反之亦然? 最佳答案 CCS(XMPP)是异步的,这意味着它应该比HTTP更快。它还使用设备上现有的GCM连接将消息从您的应用程序发送到您的服务器(这样可以节省电池电量,因为您不必打开自己的服务器连接)。另一方面,HTTP编码要简单得多,因此除非您需要双向

Android:订阅 Firebase Cloud Messaging(FCM) 主题

根据Firebasecloudmessagingdocumentation,用于为用户订阅我需要调用的主题FirebaseMessaging.getInstance().subscribeToTopic("news");在我的应用程序中,我需要所有用户都订阅我的云消息传递主题。由于返回值为void,问题是如何我可以理解订阅成功了吗?每次我都调用subscribeToTopic是不是一种不好的做法?应用程序启动了吗? 最佳答案 1.HowcanIunderstandthatsubscriptionwassuccessful?编辑:您现

Android:订阅 Firebase Cloud Messaging(FCM) 主题

根据Firebasecloudmessagingdocumentation,用于为用户订阅我需要调用的主题FirebaseMessaging.getInstance().subscribeToTopic("news");在我的应用程序中,我需要所有用户都订阅我的云消息传递主题。由于返回值为void,问题是如何我可以理解订阅成功了吗?每次我都调用subscribeToTopic是不是一种不好的做法?应用程序启动了吗? 最佳答案 1.HowcanIunderstandthatsubscriptionwassuccessful?编辑:您现

android - Google Cloud Messaging - 有时直到网络状态发生变化才会收到消息

在做一个与GCM集成的小项目时,我偶然发现了一个奇怪的问题。有时当我开始查看日志以查看是否收到消息时,直到我更改网络状态(即最初在WiFi上,如果我关闭WiFi并移动到移动数据,则消息似乎不会通过,消息到达很好)。更改网络状态后,消息开始正常到达,一旦我将网络状态更改回之前的状态(在本例中为WiFi),消息将继续接收。项目本身包括启动时启动的能力(启动时启动GCMBaseIntentService),它再次完美运行,我确信应用程序/服务正在运行,因为我在此问题时手动启动了应用程序发生(它还会检查服务是否正在运行,如果不是,它会运行它并检查它是否已注册)。有没有其他人遇到过这个问题,或者