问题标签 [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 投票
2 回答
4570 浏览

c# - .NET Remoting 自行切换通道

我们在使用 .NET Remoting 时遇到了一个奇怪的问题。基本上,我们有一个注册两个 TcpChannel 的服务器ChannelServices.RegisterChannel()

  1. 一个监听端口 50000
  2. 另一个监听端口 15000。

然后我们有一个客户端,它注册了一个 TcpChannel 以便能够与服务器通信。Activator.GetObject()我们通过使用 URI调用从服务器检索一个对象

“tcp://serverip:50000/objectname”

这工作正常,客户端连接到端口 50000 上的服务器并获取对象。

但是,当我们开始对该对象调用方法时,与端口 50000 上的通道的连接被断开,并自动与端口 15000 上的通道建立新连接。这给我们带来了一个真正的问题,因为我们不希望端口 15000 上的流量,因为该通道可能未绑定到与服务器上的端口 50000 通道相同的网络适配器,或者该端口可能未在防火墙中打开,这会导致远程调用自然会失败。

这对我们来说很奇怪,因为客户端在我们的代码中不知道服务器上的端口 15000 上存在另一个通道或它侦听的 IP,但它却尝试连接到它。

非常感谢您对此的任何帮助,

谢谢,卡斯帕

这是设置服务器通道之一的代码,通常在端口 50000 上:

这是设置另一个服务器通道的代码,通常在端口 15000 上:

这是客户端中连接到第一个服务器通道的代码,该通道通常位于端口 50000 上:

0 投票
4 回答
1760 浏览

ruby - Ruby 中的 Go 频道

在 Go 编程语言中,您可以使用称为“通道”的构造来发送消息。 http://golang.org/doc/effective_go.html#channels

我很想在 Ruby 中使用类似的东西,尤其是对于 IPC。

我想要的伪代码:

是否有任何像这样工作的 Ruby 构造、库或等价物?

如果不是:构建这种抽象的最佳方式是什么?

更新:澄清我需要从这些渠道获得什么。

一个用例:一些分叉的工人在等待工作。它们都从同一个 JobChannel 读取,并将结果报告到同一个 ResultChannel。

我需要的频道

  • 非常快,
  • 写入不阻塞,(消息发送)
  • 读取做块,(消息接收)
  • 分叉前不需要特殊处理,
  • 轻量级和简单会很好。

到目前为止,我玩过

  • DRb,(对我的小脑袋来说,轻量级 + 慢 + 太多魔法相反)
  • 套接字,(UNIXSocket、TCPSocket ...套接字似乎有很多使用它们的方法。我在 UNIXSockets 上获得了一个半工作通道。如果您认为套接字有意义,我应该查看哪些功能子集?)
  • 管道。(连接超过 2 个进程似乎并不简单)

如果其中任何一个已经是解决我的问题的完美技术,请提供教程等,其中包含更多关于我的要求的集中信息。

0 投票
1 回答
3498 浏览

youtube - 如何查看 youtube 频道中的所有视频?

我想获取 YouTube 频道中的所有视频。有没有办法做到这一点?可以分页,但我看不到任何分页(不能使用ajax)。我可以使用 PHP 获取 url。

0 投票
7 回答
163807 浏览

go - 如何停止一个 goroutine

我有一个调用方法的 goroutine,并在通道上传递返回值:

我如何停止这样的 goroutine?

0 投票
1 回答
921 浏览

field - 表达式引擎频道、类别和条目 - 都具有不同的自定义字段

我在顶部导航中有一个包含这些部分的网站:

  1. 关于我们
  2. 消息
  3. 职员
  4. 成为会员

在每个顶部导航项中,是 X 数量的子部分。例如:

关于我们

  • 我们是谁
  • 行业统计
  • 年度报告

然后,在其中的每一个中都有 X 个子页面:

关于我们

  • 我们是谁
    • 概述
    • 我们的历史
    • 我们的目标

根级顶级导航项目(关于我们)将始终需要相同的自定义字段。中层和底层页面通常具有相同的内容,但与根层的内容会有很大不同,因此需要一组不同的自定义字段。

我已经设置了结构,以便根项目是渠道,中间是类别,而较低级别只是“条目”。

我现在的问题是,在根频道上使用“频道字段组”显然会过滤所有相关的类别和条目。因此,当我去编辑或发布类别登录或条目页面时 - 我被显示为根登录页面的自定义字段组而卡住了。

我希望最终用户(我的客户)在编辑或发布不在根频道级别的页面时不必看到很多自定义字段。

如何设置此站点,以便我可以在同一频道内的不同页面上选择不同的字段组?

0 投票
2 回答
653 浏览

java - 使用 ByteBuffer 对通道进行 I/O 操作 - 性能比较

我想使用ByteBuffer. 最后我想出了三个解决方案:

方法一:使用hasRemaining()

方法二:使用compact()

方法三:混合模型

问题是:哪种方法的性能和吞吐量最高?

0 投票
1 回答
1157 浏览

io - Netty:一个通道的输出到另一个通道的输入

网络大师,

我一直想知道是否有快捷方式/Netty-Utility/smart-trick 将一个通道的输入连接到另一个通道的输出。更详细地考虑以下内容:

  1. 设置 Netty (http) 服务器
  2. 对于传入的MessageEvent 获取其ChannelBuffer
  3. 并将其输入通过管道传输到NettyClient- ChannelBuffer (按照 NettyServer 的方式设置)。

我对如何实现要点 3感兴趣。因为我的第一个想法是
// mock messageReceived(ChannelHandlerContext ctx, MessageEvent e):
ChannelBuffer bufIn = (ChannelBuffer) e.getMessage();
ChannelBuffer bufOut = getClientChannelBuffer();// 在别处设置
bufOut.write(bufIn);

在我看来很尴尬,因为
A. 我必须为每个 messageReceived-Event 确定目标 ChannelBuffer
B. 需要进行大量低级修补

我的愿望/愿景是将
--> 一个通道的输入 -->连接
到另一个通道的输出,
并让他们在没有任何额外编码的情况下进行 I/O。

非常感谢!,特劳德

PS:问题已经出现,因为我试图将各种 HTTP 请求分派到服务器(一个入口点)到其他几个服务器,具体取决于输入内容(基于第一个 HTTP 请求行的映射)。显然,我还需要做相反的技巧——将客户端返回到服务器——但我想这与之前问题的解决方案类似。

0 投票
2 回答
5116 浏览

node.js - node.js 和 redis 中的私有通道。如何?

我写了一个简单的脚本(app.js)来订阅redis的频道

现在,我想让每个用户订阅私人频道成为可能。

我试图通过 socket.io.connect 传递额外的数据,如下所示:

然后在 app.js

但它不起作用。

任何想法如何解决私人房间的问题?

谢谢。

0 投票
1 回答
523 浏览

expressionengine - 表达式引擎相关条目下拉值

我有 2 个频道。频道 2 有一个与频道 1 相关的下拉选择框。我想在一个页面上显示有关两个频道的所有信息:

我从 {tag_from_channel1} 获取 ID 而不是值。如何显示值而不是 ID?

0 投票
1 回答
6991 浏览

java - Netty:关闭频道时出现 ClosedChannelException

为什么当我尝试关闭频道时,会抛出 ChannelClosedException?使用 Channel.close() 关闭,异常的堆栈跟踪: