c# – 取消NamedPipeClientStream.Read调用

c# – 取消NamedPipeClientStream.Read调用,第1张

概述我在网上看了一遍,但我找不到以下问题的答案. 我在客户端程序中有一个C#/.NET NamedPipeClientStream实例,而一个工作线程正在调用NamedPipeClientStream.Read(byte [],int,int)来从服务器获取数据.服务器将数据更新发送到客户端. 读取是阻止呼叫.如果我想关闭客户端,有没有办法取消/退出读取呼叫?我试过在命名管道实例上调用Close,但它 我在网上看了一遍,但我找不到以下问题的答案.

我在客户端程序中有一个C#/.NET namedPipeClIEntStream实例,而一个工作线程正在调用namedPipeClIEntStream.Read(byte [],int,int)来从服务器获取数据.服务器将数据更新发送到客户端.

读取是阻止呼叫.如果我想关闭客户端,有没有办法取消/退出读取呼叫?我试过在命名管道实例上调用Close,但它对调用Read的线程没有影响.

我认为有一种方法可以取消阅读电话.如果没有,似乎这是一个设计非常糟糕的API,因为你的程序受到管道的支配.

任何信息都非常感谢.

-克里斯

解决方法 使用带有PipeOptions参数的namedPipeClIEntStream构造函数.在调用Close()方法时,指定PipeOptions.Asynchronous将完成Read()调用. Read()方法返回0. 总结

以上是内存溢出为你收集整理的c# – 取消NamedPipeClientStream.Read调用全部内容,希望文章能够帮你解决c# – 取消NamedPipeClientStream.Read调用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1262995.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-08
下一篇2022-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存