问题标签 [channel]

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 回答
1002 浏览

wcf - WCF 通道状态未更新

我的 WCF 应用程序有问题。我为我的应用程序使用了 netTcpBinding。在客户端,我使用 ClientBase<> 连接到主机,并使用 ICommunicationObject.State 检查通道是否仍然可用。

问题是在“receiveTimeout”之后,TCP 连接被切断,但是在客户端,当我检查状态时,它仍然是“Opened”。而当我尝试直接使用它时,也有例外。

为了确认 TCP 套接字的断开,我使用 TCPView 对其进行监控。超时后被切断。但是通道的状态没有更新。


实际上,我在服务器的配置中添加了诊断日志。并且在超时后我得到一个异常(同时发生断开连接)。

这是例外(在服务器端):

System.ServiceModel.CommunicationObjectAbortedException, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Net.Sockets.SocketException, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 TCP 错误 ( 995:由于线程退出或应用程序请求,I/O 操作已中止)在传输数据时发生。

如果我尝试再次从客户端调用服务,在客户端,我会得到这个异常:

System.ServiceModel.CommunicationException:套接字连接已中止。这可能是由于处理您的消息时出错或远程主机超出接收超时,或者是潜在的网络资源问题造成的。

我认为客户端的异常是正常的。但我不知道我是否需要处理服务器端的异常。

有人有想法吗?

非常感谢。

0 投票
3 回答
1711 浏览

java - 如何将一定数量的字节读入缓冲区?

以下问题:我有一个大文本文件,每行包含 13 个字节。我不想使用 InputStream 以常见的方式逐行读取文件。我正在尝试使用 NIO Channels 和 MappedByteBuffers 以获得更好的性能和有限的资源。

所以这就是我到目前为止所做的:

这里容量是 n*13,以确保只有整行适合缓冲区。但这不起作用!我像这样填充缓冲区:

但这并没有填满整个缓冲区!bytesRead不等于capacity,更糟糕的是,在我的情况下bytesRead%13为零,这意味着它不包含整行,最后有些东西被切断了。如何将一定数量的字节读入缓冲区?在我的情况下,我正好需要 n*13 字节,这样原始行就不会被分割......

0 投票
1 回答
1617 浏览

javascript - 在 chrome 扩展中使用频道 google 应用引擎

这是在扩展程序中运行的代码,位于 background.html 中。

它与创建通道并返回令牌的 localhost 服务器脚本(在 python 中)交互。然后令牌用于在客户端创建通道对象。相反,我从汇总响应中得到的是:

通道 354645736-1234 * 错误无效+令牌 401 *关闭

当我在扩展范围之外执行此操作时(不使用 ajax 建立连接),它就像一个魅力。

我会误入歧途吗?

0 投票
1 回答
10681 浏览

python - OpenCV python:在 BGR 图像中获取通道时 cv2.split() 与切片

我只想获取 BGR 图像中的第一个通道(蓝色),然后将其保存到磁盘。当我使用 cv2.split() 一切正常

但是在使用模拟切片操作时出现错误

数组 b 和 c 中的元素是相等的,维度和类也是相似的。为什么我不能使用简单的切片来获取其中一个频道?

0 投票
1 回答
314 浏览

wcf - 如何在不关闭 WCF 连接的情况下很好地返回 DTO

我在 C# 中的 WCF 服务看起来像这样。

从该方法返回的 DTO 如下所示:

我发现的典型示例显示从方法中抛出一个 FaultException;但就我而言,我的方法没有错误;错误发生在对象被返回给客户/消费者的时候;即当DataMember/Property XmlRep 被序列化时;

所以我不能将 throw FaultException 放在我的方法中;但我仍然想避免得到“底层连接已关闭:连接意外关闭。” 并抛出在 getter 中发生的正确错误。

我没有尝试将 try/catch 放在 MyDTO 的 getter 中,我也不想因为我希望我的 DTO 尽可能简单,并且对 FaultExceptions 和 WCF 的东西一无所知。还有其他想法吗?

编辑:为了更清楚,我知道错误发生在 MyDto DataContract 的 Getter 中;但是我还能在哪里抛出 FaultException,因为在我看来,在 Getter 内部是一个不可靠的地方来抛出它?

编辑#2:我在服务端实现了一个包罗万象的错误处理程序,正如 Tim 下面所建议的那样(使用 IErrorHandler);这在我的具体情况下不起作用。我认为这是因为错误不会发生在 OperationContract ReturnMyDTOMethod() 中,而是在被序列化时发生在 MyDto 中;换句话说,看起来马已经跑了(方法成功返回),并且 IErrorHandler 有任何用处都为时已晚 - 具体来说,ProvideFault() 不会触发,但 HandleError() 会触发。因此,我仍然收到一条频道中断消息,这需要我回到绘图板 - 即确保 MyDto 不会做任何花哨的事情,例如产生错误!

0 投票
1 回答
508 浏览

image - 有人可以解释一下这个matlab代码是如何获得图像的红色通道的吗?

这是代码

我的想法是我们首先读取图像并将其保存在变量中

我们知道图像将是 3 维 512x512x3

第三个维度与渠道有关

现在 redChannel 变量将采用图像的红色通道

所以,我的问题是,为什么我不能只使用

显示图像?问题是它除了红色之外什么都没有显示

现在他说

blackColor 处处为零,其大小为 512x512

与每个通道的大小相同

关于猫,我不明白他为什么要这样做......

0 投票
1 回答
385 浏览

c# - WCF如何创建连接到同一个服务实例的两个通道

我对 WCF 服务实例有一些问题。

它工作正常,但在服务器端创建了两个服务类实例。 InstanceContextMode设置为InstanceContextMode.PerSession,我想保持这种状态。我找到了这篇文章:

http://msdn.microsoft.com/en-us/magazine/cc163590.aspx#S4

部分Duplicating a Proxy是图 5 复制代理。我似乎是完美的解决方案,但IClientChannel不再包含ResolveInstance()方法。有没有其他方法可以创建连接到一个服务实例的两个通道而不设置InstanceContextModeInstanceContextMode.Single

0 投票
1 回答
1010 浏览

python - Python 中具有本机线程的 CSP 通道

我正在寻找在 Python 的本机线程之上实现 CSP 通道。我看过一些图书馆,但它们包括除了厨房水槽之外的所有东西。

具体来说,我正在寻找能够在多个通道上等待一组发送和接收操作中的第一个,或者将第一个完成操作的结果返回给我,或者调用一个回调。

以下是一些相关的上下文链接:

0 投票
6 回答
55703 浏览

go - 可以让频道保持打开状态吗?

如果我从不检查其状态,是否可以让 Go 通道永远打开(永远不要关闭通道)?会不会导致内存泄露?下面的代码可以吗?

0 投票
3 回答
1524 浏览

java - Java 和 FTP 服务器

我在连接 FTP 服务器时遇到问题。我有一个应用程序,它必须从文件中读取数据。我有在本地磁盘上搜索文件的代码,但我必须更改它,因为我在 FTP 服务器上有所有数据。此时我使用:

其中 nameFile 是我的文件的名称。我创建了从本地磁盘文件加载数据的通道。我可以更改可以在 FTP 服务器上搜索文件的代码吗?