PubNub 多路复用问题
PubNub multiplexing issue
我正在尝试从自定义 WebSocket 切换到 PubNub。在我的应用程序中,我需要用户一次订阅多个频道,所以我认为多路复用是可行的方法。问题是,当我想一次订阅超过 4 个频道时,我会收到无穷无尽的 CORS 错误流。一个一个地订阅频道,中间有延迟没有任何区别。我启用了 "Stream Controller" 扩展程序。
PubNub 状态用户状态数据
https://www.pubnub.com/docs/web-javascript/presence
当您订阅多个频道并提供状态时,例如:
pubnub.subscribe({
channel: "ch1,ch2,ch3",
message: function(message) {
console.log('message', message);
},
state: {
age: 67,
username: 'rplant@ledzep.com',
full: 'Robert Plant',
country: 'UK',
latlong: '51.5072° N, 0.1275° W'
profile_pic: 'http://somewebsite.com/images/rplant.png'
}});
...状态已添加到该用户的每个频道。每个频道的每个用户都有自己的状态。上面,三个通道中的每一个都用相同的状态数据初始化,但是当你设置状态时,例如:
pubnub.state({
channel: 'ch2',
uuid: 'rplant',
state: {'full_name' : 'Bobby Plant'},
callback: function(m){console.log(JSON.stringify(m))}
});
...您可以指定一个频道(或多个频道),并通过您在使用 PUBNUB.int
.
初始化 PubNub 时为他们设置的 UUID 指定用户
关于状态大小限制,发布消息有 32KB 的消息限制,这对于状态事件也是如此,因为它们只是在状态通道上发布的消息。
但一般来说,您应该将状态保持在最低限度。它不适用于大量数据。文件(图像)应该存储在分布式文件系统上,URL 通过 PubNub 传递。
我发现了问题所在。状态太大,它有用户详细信息,包括照片缩略图。它的大小约为 6000 个字符。它离 32kb 还很远,我没有读到任何关于它的不同限制的信息,当我订阅了至少 5 个频道时,它就发生了。是否有一些幕后逻辑可以将每个通道数量的状态大小相乘? 5*~6000接近32k的限制。
我正在尝试从自定义 WebSocket 切换到 PubNub。在我的应用程序中,我需要用户一次订阅多个频道,所以我认为多路复用是可行的方法。问题是,当我想一次订阅超过 4 个频道时,我会收到无穷无尽的 CORS 错误流。一个一个地订阅频道,中间有延迟没有任何区别。我启用了 "Stream Controller" 扩展程序。
PubNub 状态用户状态数据
https://www.pubnub.com/docs/web-javascript/presence
当您订阅多个频道并提供状态时,例如:
pubnub.subscribe({
channel: "ch1,ch2,ch3",
message: function(message) {
console.log('message', message);
},
state: {
age: 67,
username: 'rplant@ledzep.com',
full: 'Robert Plant',
country: 'UK',
latlong: '51.5072° N, 0.1275° W'
profile_pic: 'http://somewebsite.com/images/rplant.png'
}});
...状态已添加到该用户的每个频道。每个频道的每个用户都有自己的状态。上面,三个通道中的每一个都用相同的状态数据初始化,但是当你设置状态时,例如:
pubnub.state({
channel: 'ch2',
uuid: 'rplant',
state: {'full_name' : 'Bobby Plant'},
callback: function(m){console.log(JSON.stringify(m))}
});
...您可以指定一个频道(或多个频道),并通过您在使用 PUBNUB.int
.
关于状态大小限制,发布消息有 32KB 的消息限制,这对于状态事件也是如此,因为它们只是在状态通道上发布的消息。
但一般来说,您应该将状态保持在最低限度。它不适用于大量数据。文件(图像)应该存储在分布式文件系统上,URL 通过 PubNub 传递。
我发现了问题所在。状态太大,它有用户详细信息,包括照片缩略图。它的大小约为 6000 个字符。它离 32kb 还很远,我没有读到任何关于它的不同限制的信息,当我订阅了至少 5 个频道时,它就发生了。是否有一些幕后逻辑可以将每个通道数量的状态大小相乘? 5*~6000接近32k的限制。