我需要使用node.js实时读出正在写入文件的数据的最佳方法.麻烦的是,Node是一艘快速发展的船,它使寻找解决问题的最佳方法变得困难.
我想做什么
我有一个正在做某事的java进程,然后把它做的事情的结果写到文本文件中.它通常需要5分钟到5个小时才能运行,数据写入的时间很长,并且可以达到一些相当高的吞吐率(大约1000线/秒).
我想实时读取这个文件,然后使用节点聚合数据并将其写入套接字,在套接字上可以在客户端上绘制图形.
客户端,图形,套接字和聚合逻辑都已完成,但我对阅读文件的最佳方法感到困惑.
我尝试过(或者至少玩过)
FIFO - 我可以告诉我的Java进程写一个fifo并使用node读取它,这实际上是我们如何使用Perl实现这个目的,但是因为其他一切都在节点中运行将代码移植过来是有意义的.
Unix Sockets - 如上.
fs.watchFile - 这会对我们需要的东西起作用吗?
fs.createReadStream - 这比watchFile好吗?
fs&tail -f- 似乎是一个黑客.
实际上,我的问题是什么,
我倾向于使用Unix套接字,这似乎是最快的选择.但节点是否具有更好的内置功能,可以实时读取fs中的文件?
我想构建一个Android应用程序来从两个麦克风中获取音频数据,将声音与一些内存混合,然后通过耳机播放声音.这需要实时完成.你可以参考我的一些教程或任何参考资料,用于Java eclipse的实时音频输入,混合和输出吗?
到目前为止,我能够录制声音,保存它,然后播放它,但是我找不到任何教程可以通过这种方式实现与声音硬件的实时接口.
注意:一个麦克风通过分离器连接到Android的3.5毫米耳机插孔,另一个麦克风通过USB端口连接.
谢谢!
我在我的项目中使用骨干,与外部API的通信集成.我想使用记录的实时更新.由于我无法访问此外部应用程序的主后端,并且它们既不提供websocket服务器也不提供长轮询端点,所以我基本上可以选择使用setInterval进行常规轮询,并且周期为50秒.它一直运作良好.我的问题是边缘情况.如果出于某种原因,API请求会挂起,超过50秒,我想说,我将立即触发新请求.这意味着,现在有2个挂起请求,最终会加起来.有没有办法为请求设置超时?我知道所有请求都导致Backbone.sync,但我正在检查源代码,我没有看到任何可行的方法来设置XmlHttpRequest的超时.有没有办法干净地完成这项工作而不会覆盖行为?还是有其他解决方案/解决方法吗?
我正在编写一个金融C#应用程序,它接收来自网络的消息,根据消息类型将它们转换为不同的对象,最后将应用程序业务逻辑应用于它们.
关键是在应用业务逻辑之后,我非常确定我将永远不再需要这个实例.我不想等待垃圾收集器释放它们,而是明确地"删除"它们.
有没有更好的方法在C#中这样做,我应该使用一个对象池来重用总是相同的实例集,还是有更好的策略.
目标是避免垃圾收集在时间关键过程中使用任何CPU.
我想知道推荐使用的音频库是什么?
我正在尝试制作一个有助于调整乐器的小程序.(钢琴,吉他等).我读过有关ALSA和Marsyas音频库的文章.
我想这个想法是从麦克风中采样数据,对5-10ms的块进行分析(从我读过的内容).然后执行FFT以确定哪个频率包含最大峰值.
有没有办法在没有任何服务器的情况下创建P2P网络聊天?
只是想知道是否有人在Java Real-Time系统上运行过Scala app或web-app?
我假设因为scala与常规JVM字节码兼容,那么在Sun Java Real-Time System等实时JVM上运行它不应该花费太多精力吗?
编辑:根据VirtualMachine/cloud上的Sun Java Realtime System,我设法在VMWare Workstation 6.5上的SuseLinuxEnterprise Realtime Extension上使用Sun Java Realtime系统运行Scala的Lift框架
Web应用程序不会像在VMWare上运行那样实时运行,但它是一个开始.
首先,我想说我真的很喜欢CloudFlare!
我唯一无法理解的是,Google Analytics(分析)不会在"受众群体"报告中显示任何访问权限.虽然它显示实时访客.
昨天的观众报告显示我0次访问,而实时我可以在任何给定时间看到大约10名活跃访客.
我现在已经找了几个小时的解决方案但是找不到任何关于此事的内容.
屏幕截图位于http://srwww.eu/forumattachments/cloudflare-google-analytics.png
解决了 24小时内解决的"本身"问题.报告似乎有延迟.不确定延迟是由Google Analytics或CloudFlare引起的.
好吧,我继续使用我的Phonegap应用程序开发处于两难境地:对于实时事件通知,我应该使用Azure Notification Hub还是SignalR?
据我了解,SignalR通过使用Web套接字适用于实时Web应用程序.而通知中心可以轻松地跨多个平台发送推送通知.为了便于回复,让我解释一下我目前拥有的结构以及我的应用程序应该做什么.
应用程序:它基本上是一个用户可以创建组并邀请其他用户的应用程序.用户还可以使组"在线",以便其他用户可以"输入"该组.当该群组在线且用户已进入时,他们可以发送问题,交换消息等.
需求:当用户在组中提问或进入/离开组时,其他用户需要在应用屏幕中看到新用户.我可以在服务器上进行轮询以检查并根据更新UI,但这是现代人不允许的.我对这个主题的搜索引出了两件事:SignalR和NotificationHub.
当前架构:客户端 - >带有backbone.js的PhoneGap应用程序.后端 - >带有实体框架和Azure Sql Server的Asp.NET Web API.
我已经考虑过使用通知集线器和标签了.例如,当用户进入在线组时,它向服务器发送请求以注册"grouplisten:{groupId}"标签.然后,服务器将标记注册到用户的设备,并向标记为"grouplisten:{groupId}"的所有其他设备发出通知,以便其他用户使用最近加入的用户更新UI.此外,当用户离开组时,它向服务器发送请求以删除"grouplisten:{groupId}"标签,并且还通知具有"grouplisten:{groupId}"的设备.但是通过这个简单的例子,看起来这样会变得无法管理.
real-time ×10
audio ×2
java ×2
javascript ×2
.net ×1
ajax ×1
alsa ×1
android ×1
backbone.js ×1
c# ×1
camera ×1
cdn ×1
chat ×1
cloudflare ×1
cordova ×1
erlang ×1
fifo ×1
filter ×1
finance ×1
flutter ×1
linux ×1
microphone ×1
node.js ×1
polling ×1
rtsj ×1
scala ×1
signalr ×1
statistics ×1
streaming ×1
unix-socket ×1