问题标签 [channels]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6624 浏览

audio - 下载 2 个音轨的示例 .mp4 视频文件?

我想尝试使用具有 2 个或更多音轨的视频文件在 jwplayer 上进行试验。任何人都可以为我提供示例视频或指向资源以下载它吗?

先感谢您!

0 投票
3 回答
1818 浏览

android - AudioTrack - AudioTack 没有播放完全录制的音频

我有一个问题,当我录制音频时,我点击“播放”按钮,它只播放大约 3 秒,而不是完全录制的音频。我尝试增加缓冲区大小,但它反而使我的应用程序崩溃。任何人都可以建议吗?谢谢

谢谢大家!

0 投票
2 回答
2505 浏览

go - Goroutines、Channels 和死锁

我试图更多地了解 go 的通道和 goroutines,所以我决定制作一个小程序来计算文件中的单词,由bufio.NewScanner对象读取:

现在,在我迄今为止发现的大多数示例中,通道linesresults通道都会被缓冲,例如make(chan int, NUMBER_OF_LINES_IN_FILE). 尽管如此,在运行此代码后,我的程序仍然存在并显示fatal error: all goroutines are asleep - deadlock!错误消息。

基本上我的想法是我需要两个通道:一个与 goroutine 通信文件中的行(因为它可以是任何大小,我不喜欢认为我需要在make(chan)函数调用中通知大小。其他通道会从 goroutine 收集结果,在主函数中我会用它来计算一个累积的结果。

使用 goroutine 和通道以这种方式编程的最佳选择应该是什么?任何帮助深表感谢。

0 投票
1 回答
33 浏览

ios - 解析通知

我正在尝试在多个 Parse 通道中注册一个设备,但它不起作用并且不知道我做错了什么。

在我的表格中,Parse 没有显示设备在这些频道中

这在您按下按钮时执行。

0 投票
3 回答
1132 浏览

java - java nio:不完整的文件传输

我正在尝试使用 java NIO 将大型视频文件从客户端传输到服务器。我似乎需要使用 NIO,因为我要发送的文件比常规 IO 的明显文件大小限制要大得多,大约 2GB...我的视频文件每个都大到 50GB。现在,我只是想构建一个小程序来理解这些概念。稍后它将被添加到更大的程序中。

我的问题在于只有文件的前几百 KB 保存在服务器上。每次我运行它时,服务器上都会保存不同的数据。任何人都可以帮我解决问题吗?(以及您可能有的任何其他建议……NIO 对我来说是新的)谢谢!

以下是它的工作原理:

客户端将有一组文件发送到服务器。客户端将与服务器建立连接,服务器将回复说它已准备好。客户端发送文件头信息。然后服务器说它准备好接收文件内容。然后客户端发送文件的内容。当文件完全传输时,它会重复下一个文件,直到不再需要发送文件。

主要客户

文件发送器

主服务器

文件接收器

0 投票
0 回答
591 浏览

three.js - 如何正确实现用于选择性照明的 Three.js 通道

我正在尝试使用新的(r73)THREE.Channels()功能在我的项目中实现选择性照明,但我遇到了障碍。

https://jsfiddle.net/Angrypickle/t8f7q3vo/4/

正如您在 JSFiddle 中看到的那样,我将一个网格灯组合设置为通道 0,另一个网格灯组合设置为通道 1。相机启用了通道 0 和通道 1 以查看两个网格灯组合。

出于选择性照明的目的,我希望每个灯只照亮同一通道上的网格,但事实并非如此。我正确使用它吗?

编辑:JSFiddle 更新以遵循@WestLangley 的建议。两个网格接收两个光源的效果在白光​​而不是红光和蓝光下更为明显。

0 投票
2 回答
2069 浏览

java - 通过 ReadableByteChannel 的 InputStream 没有读到结束

我有一个使用 InputStreams 的现有问题,我想提高从该通道读取的性能。因此我用ReadableByteChannel.

因此,使用此代码读取速度要快得多:

问题是:每次都读不完!如果我尝试读取文件,它的效果非常好。如果我从网络套接字读取(例如手动请求网页),它有时会在两者之间停止。

我该怎么做才能读到最后?

我不想使用这样的东西:

因为这个实现很慢。

我希望你能帮助我解决我的问题。也许我的代码中有一些错误。

0 投票
1 回答
6194 浏览

websocket - How to detect if a user left a Phoenix channel due to a network disconnect?

I have an Elixir/Phoenix server app and the clients connect through the build in channels system via websockets. Now I want to detect when an user leaves a channel.

Sidenote: I'm using the javascript client library inside a Google Chrome Extension. For this I extracted the ES6 code from Phoenix, transpiled it to javascript, and tweaked it a little so it runs standalone.

Now when I just close the popup, the server immediately triggers the terminate/2 function with reason = {:shutdown, :closed}. There is no kind of close-callback involved on the extension side, so this is great!

But when the client simply looses network connection (I connected a second computer and just pulled out the network plug) then terminate/2 will not trigger.

Why and how do I fix this?

I played around with the timeoutoption of transport :websocket, Phoenix.Transports.WebSocket but this did not work out.

Update: With the new awesome Phoenix 1.2 Presence stuff, this should not be needed anymore.

0 投票
1 回答
1153 浏览

authorization - Phoenix: Authorizing an authenticated user to join a channel

With my new HelloPhoenix application, I built a standard basic http user authentication with a register/login form.

Next, I tried channels. It works great. Then, I want authenticated users (and only those who are already authenticated) to be able to join some channels. According to the doc:

Clients must join a channel to send and receive PubSub events on that channel. Your channels must implement a join/3 callback that authorizes the socket for the given topic. For example, you could check if the user is allowed to join that particular room.

That sounds great, but I wonder what would be the most efficient way. I thought of returning a token (that is associated with the user's model) upon authentication, so the token is passed back to the WebSocket. The join/3 callback could verify that this token matches the one in the model.

Is it the most efficient way?

0 投票
1 回答
665 浏览

go - Golang 超时不与通道一起执行

我正在使用 goroutines/channels。这是我的代码。为什么超时情况没有得到执行?