我正在寻找一个框架,它可以提供从服务器到浏览器的实时更新,就像它在网络聊天,谷歌浪潮,谷歌嗡嗡声,脸书等.
我找到了Rocket GWT,但最后一次更新是在一年多前...
对我来说最好的实现是在客户端上使用GWT,在服务器上使用JSON作为通信协议和C++但是欢迎任何其他框架只是为了看到它是可能的:)谷歌使用哪个框架?
最好的问候,Stefan
我为用户和页面设置了实时Facebook更新.每当用户更新其状态时,我都会在服务器上收到有关更改的请求.我从facebook post call获得的数据如下所示.
{
"object":"user",
"entry":[
{
"uid":"10152689315982483",
"id":"10152689315982483",
"time":1427362347,
"changed_fields":[
"feed"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
但是,当页面管理员更新其状态时,我没有收到来自facebook的任何电话.
我按照以下步骤进行实时Facebook更新.
订阅用户/页面以获取访问令牌的更新.
graph.facebook.com//subscriptions?object=user&fields=feed&verify_token=&method=post&callback_url=htps://serverurl/realtime.php
获取订阅列表
graph.facebook.com//subscriptions
通过此调用,我可以获得用户和页面数据.
{
"data": [
{
"object": "user",
"callback_url": "https://serverurl/realtime.php",
"fields": [
"feed"
],
"active": true
},
{
"object": "page",
"callback_url": "https://serverurl/realtime.php",
"fields": [
"feed"
],
"active": true
}
]
}
Run Code Online (Sandbox Code Playgroud)
我还将应用程序添加到页面选项卡,但仍未获取页面更新.谁能告诉我我错过了什么?
facebook real-time-data facebook-graph-api real-time-updates
我正在编写一个实时聊天应用程序,该应用程序将被许多用户使用。我正在考虑使用Amazon的ElasticCache Redis管理我们的PUB / SUB和最新消息缓存。
我看到的唯一问题是有关将这些实时消息保存到数据库以供将来使用。关于可以使用哪些策略将这些消息从Elastic Cache保存到数据库中的任何建议。
是RDS首选还是应该使用NoSQL(例如Dynmodb)存储这些消息?我应该创建一个队列来存储来自缓存的这些消息还是实时保存它们也可以。
谢谢
let file = fileUpload.files[0];
let offset = 0;
let chunkSize = 1024*1024*16;
file.arrayBuffer().then((buffer) => {
while(buffer.byteLength){
const chunk = buffer.slice(0, chunkSize);
buffer = buffer.slice(chunkSize, buffer.byteLength);
dataChannel.send(chunk);
}
})
Run Code Online (Sandbox Code Playgroud)
它适用于小文件,但适用于大文件。
我是处理wav文件和C#的新手。我的目标是在wavfile波形中实时绘制数据。我的意思是在录制声音(wav)文件时,我想同时绘制其图形。我搜索了一些声音库并决定使用NAudio。(不知道这对我来说是最佳选择。我愿意接受有关选择音频库的任何建议)。但是我不知道使用声音进行实时数据绘图的想法。有人建议使用GDI,但正如我所说,我是新手,我认为有效使用GDI会花费太多时间。如果我必须学习GDI,请分享任何可以帮助像我这样的初学者的文章。实际上,我看起来不知道该从哪里开始。需要指导:))我有一个问题。
NAudio的教程之一,他使用字节数组在Chart中绘制波形。如果您知道wav文件的大小,那很好。但是它的工作速度太慢,对于大于10mb的wav文件,它会给出内存不足异常。下面的代码指的是我的意思。
OpenFileDialog open = new OpenFileDialog();
open.Filter = "Wave File (*.wav)|*.wav;";
if (open.ShowDialog() != DialogResult.OK) return;
chart1.Series.Add("wave");
chart1.Series["wave"].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.FastLine;
chart1.Series["wave"].ChartArea = "ChartArea1";
NAudio.Wave.WaveChannel32 wave = new NAudio.Wave.WaveChannel32(new NAudio.Wave.WaveFileReader(open.FileName));
byte[] buffer = new byte[426565];
int read;
while (wave.Position < wave.Length)
{
read = wave.Read(buffer, 0, 426565);
for (int i = 0; i < read / 4; i++)
{
chart1.Series["wave"].Points.Add(BitConverter.ToSingle(buffer, i * 4));
}
}
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以更快地执行此操作?