问题标签 [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.
c# - .NET Remoting 自行切换通道
我们在使用 .NET Remoting 时遇到了一个奇怪的问题。基本上,我们有一个注册两个 TcpChannel 的服务器ChannelServices.RegisterChannel()
:
- 一个监听端口 50000
- 另一个监听端口 15000。
然后我们有一个客户端,它注册了一个 TcpChannel 以便能够与服务器通信。Activator.GetObject()
我们通过使用 URI调用从服务器检索一个对象
“tcp://serverip:50000/objectname”
这工作正常,客户端连接到端口 50000 上的服务器并获取对象。
但是,当我们开始对该对象调用方法时,与端口 50000 上的通道的连接被断开,并自动与端口 15000 上的通道建立新连接。这给我们带来了一个真正的问题,因为我们不希望端口 15000 上的流量,因为该通道可能未绑定到与服务器上的端口 50000 通道相同的网络适配器,或者该端口可能未在防火墙中打开,这会导致远程调用自然会失败。
这对我们来说很奇怪,因为客户端在我们的代码中不知道服务器上的端口 15000 上存在另一个通道或它侦听的 IP,但它却尝试连接到它。
非常感谢您对此的任何帮助,
谢谢,卡斯帕
这是设置服务器通道之一的代码,通常在端口 50000 上:
这是设置另一个服务器通道的代码,通常在端口 15000 上:
这是客户端中连接到第一个服务器通道的代码,该通道通常位于端口 50000 上:
ruby - Ruby 中的 Go 频道
在 Go 编程语言中,您可以使用称为“通道”的构造来发送消息。 http://golang.org/doc/effective_go.html#channels
我很想在 Ruby 中使用类似的东西,尤其是对于 IPC。
我想要的伪代码:
是否有任何像这样工作的 Ruby 构造、库或等价物?
如果不是:构建这种抽象的最佳方式是什么?
更新:澄清我需要从这些渠道获得什么。
一个用例:一些分叉的工人在等待工作。它们都从同一个 JobChannel 读取,并将结果报告到同一个 ResultChannel。
我需要的频道
- 非常快,
- 写入不阻塞,(消息发送)
- 读取做块,(消息接收)
- 分叉前不需要特殊处理,
- 轻量级和简单会很好。
到目前为止,我玩过
- DRb,(对我的小脑袋来说,轻量级 + 慢 + 太多魔法相反)
- 套接字,(UNIXSocket、TCPSocket ...套接字似乎有很多使用它们的方法。我在 UNIXSockets 上获得了一个半工作通道。如果您认为套接字有意义,我应该查看哪些功能子集?)
- 管道。(连接超过 2 个进程似乎并不简单)
如果其中任何一个已经是解决我的问题的完美技术,请提供教程等,其中包含更多关于我的要求的集中信息。
youtube - 如何查看 youtube 频道中的所有视频?
我想获取 YouTube 频道中的所有视频。有没有办法做到这一点?可以分页,但我看不到任何分页(不能使用ajax)。我可以使用 PHP 获取 url。
go - 如何停止一个 goroutine
我有一个调用方法的 goroutine,并在通道上传递返回值:
我如何停止这样的 goroutine?
field - 表达式引擎频道、类别和条目 - 都具有不同的自定义字段
我在顶部导航中有一个包含这些部分的网站:
- 关于我们
- 消息
- 职员
- 成为会员
在每个顶部导航项中,是 X 数量的子部分。例如:
关于我们
- 我们是谁
- 行业统计
- 年度报告
然后,在其中的每一个中都有 X 个子页面:
关于我们
- 我们是谁
- 概述
- 我们的历史
- 我们的目标
根级顶级导航项目(关于我们)将始终需要相同的自定义字段。中层和底层页面通常具有相同的内容,但与根层的内容会有很大不同,因此需要一组不同的自定义字段。
我已经设置了结构,以便根项目是渠道,中间是类别,而较低级别只是“条目”。
我现在的问题是,在根频道上使用“频道字段组”显然会过滤所有相关的类别和条目。因此,当我去编辑或发布类别登录或条目页面时 - 我被显示为根登录页面的自定义字段组而卡住了。
我希望最终用户(我的客户)在编辑或发布不在根频道级别的页面时不必看到很多自定义字段。
如何设置此站点,以便我可以在同一频道内的不同页面上选择不同的字段组?
java - 使用 ByteBuffer 对通道进行 I/O 操作 - 性能比较
我想使用ByteBuffer
. 最后我想出了三个解决方案:
方法一:使用hasRemaining()
方法二:使用compact()
方法三:混合模型
问题是:哪种方法的性能和吞吐量最高?
io - Netty:一个通道的输出到另一个通道的输入
网络大师,
我一直想知道是否有快捷方式/Netty-Utility/smart-trick 将一个通道的输入连接到另一个通道的输出。更详细地考虑以下内容:
- 设置 Netty (http) 服务器
- 对于传入的MessageEvent 获取其ChannelBuffer
- 并将其输入通过管道传输到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 请求行的映射)。显然,我还需要做相反的技巧——将客户端返回到服务器——但我想这与之前问题的解决方案类似。
node.js - node.js 和 redis 中的私有通道。如何?
我写了一个简单的脚本(app.js)来订阅redis的频道
现在,我想让每个用户订阅私人频道成为可能。
我试图通过 socket.io.connect 传递额外的数据,如下所示:
然后在 app.js
但它不起作用。
任何想法如何解决私人房间的问题?
谢谢。
expressionengine - 表达式引擎相关条目下拉值
我有 2 个频道。频道 2 有一个与频道 1 相关的下拉选择框。我想在一个页面上显示有关两个频道的所有信息:
我从 {tag_from_channel1} 获取 ID 而不是值。如何显示值而不是 ID?
java - Netty:关闭频道时出现 ClosedChannelException
为什么当我尝试关闭频道时,会抛出 ChannelClosedException?使用 Channel.close() 关闭,异常的堆栈跟踪: