AnonymousPipeStream的使用具体案例如下:

服务端:

  1. using System;
  2. using System.Data;
  3. using System.Data.SQLite;
  4. using System.IO;
  5. using System.IO.Pipes;
  6. using System.Net;
  7. using System.Text;
  8. using System.Threading;
  9. using System.Threading.Tasks;
  10.  
  11. namespace SupremeConsole
  12. {
  13. class Program
  14. {
  15. static void Main(string[] args)
  16. {
  17. #region 测试 NamedPipeStream
  18. new Thread(new ThreadStart(AnonymousPipeServer)).Start();
  19. #endregion
  20. }
  21.  
  22. public static void AnonymousPipeServer()
  23. {
  24. string clientExe = @"F:\Person\Longteng\LongtengSln\ConsoleAppTestAnonymousPipe\bin\Debug\ConsoleAppTestAnonymousPipe.exe";
  25. HandleInheritability inherit = HandleInheritability.Inheritable;
  26. using (var tx = new AnonymousPipeServerStream(PipeDirection.Out, inherit))
  27. using (var rx = new AnonymousPipeServerStream(PipeDirection.In, inherit))
  28. {
  29. txID = tx.GetClientHandleAsString();
  30. rxID = rx.GetClientHandleAsString();
  31. var startInfo = new ProcessStartInfo(clientExe, txID + " " + rxID);
  32. startInfo.UseShellExecute = false; // Required for child process
  33. Process p = Process.Start(startInfo);
  34. tx.DisposeLocalCopyOfClientHandle(); // Release unmanaged
  35. rx.DisposeLocalCopyOfClientHandle(); // handle resources.
  36. //tx.WriteByte(100);
  37. //Console.WriteLine("Server received: " + rx.ReadByte());
  38. //p.WaitForExit();
  39. while (true)
  40. {
  41. tx.WriteByte();
  42. Console.WriteLine("Server received: " + rx.ReadByte());
  43. }
  44.  
  45. }
  46. }
  47. }
  48. }

客户端(新建一个控制台程序):

  1. using System;
  2. using System.IO.Pipes;
  3. using System.Threading;
  4.  
  5. namespace ConsoleAppTestAnonymousPipe
  6. {
  7. class Program
  8. {
  9. static void Main(string[] args)
  10. {
  11. string rxID = args[]; // Note we're reversing the
  12. string txID = args[]; // receive and transmit roles.
  13. using (var rx = new AnonymousPipeClientStream(PipeDirection.In, rxID))
  14. using (var tx = new AnonymousPipeClientStream(PipeDirection.Out, txID))
  15. {
  16. //Console.WriteLine("Client received: " + rx.ReadByte());
  17. //tx.WriteByte(200);
  18. while (true)
  19. {
  20. Console.WriteLine("Client received: " + rx.ReadByte());
  21. tx.WriteByte();
  22. Thread.Sleep(TimeSpan.FromSeconds());
  23. }
  24. }
  25. }
  26. }
  27. }

运行结果:

AnonymousPipeStream的使用案例的更多相关文章

  1. 数据库优化案例——————某市中心医院HIS系统

    记得在自己学习数据库知识的时候特别喜欢看案例,因为优化的手段是容易掌握的,但是整体的优化思想是很难学会的.这也是为什么自己特别喜欢看案例,今天也开始分享自己做的优化案例. 最近一直很忙,博客产出也少的 ...

  2. SQL Server内存遭遇操作系统进程压榨案例

    场景: 最近一台DB服务器偶尔出现CPU报警,我的邮件报警阈(请读yù)值设置的是15%,开始时没当回事,以为是有什么统计类的查询,后来越来越频繁. 探索: 我决定来查一下,究竟是什么在作怪,我排查的 ...

  3. solr_架构案例【京东站内搜索】(附程序源代码)

    注意事项:首先要保证部署solr服务的Tomcat容器和检索solr服务中数据的Tomcat容器,它们的端口号不能发生冲突,否则web程序是不可能运行起来的. 一:solr服务的端口号.我这里的sol ...

  4. Yeoman 官网教学案例:使用 Yeoman 构建 WebApp

    STEP 1:设置开发环境 与yeoman的所有交互都是通过命令行.Mac系统使用terminal.app,Linux系统使用shell,windows系统可以使用cmder/PowerShell/c ...

  5. 了不起的 nodejs-TwitterWeb 案例 bug 解决

    了不起的nodejs算是一本不错的入门书,不过书中个别案例存在bug,按照书中源码无法做出和书中相同效果,原本兴奋的心情掺杂着些许失落. 现在我们看一下第七章HTTP,一个Twitter Web客户端 ...

  6. 一个表缺失索引发的CPU资源瓶颈案例

    背景 近几日,公司的应用团队反应业务系统突然变慢了,之前是一直比较正常.后与业务部门沟通了解详情,得知最近生意比较好,同时也在做大的促销活动,使得业务数据处理的量出现较大的增长,最终系统在处理时出现瓶 ...

  7. 【Machine Learning】决策树案例:基于python的商品购买能力预测系统

    决策树在商品购买能力预测案例中的算法实现 作者:白宁超 2016年12月24日22:05:42 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本 ...

  8. Redis简单案例(二) 网站最近的访问用户

    我们有时会在网站中看到最后的访问用户.最近的活跃用户等等诸如此类的一些信息.本文就以最后的访问用户为例, 用Redis来实现这个小功能.在这之前,我们可以先简单了解一下在oracle.sqlserve ...

  9. springmvc+bootstrap+jquerymobile完整搭建案例(提供下载地址)

    用一张简单的截图说明下,然后提供一个下载地址. bootstrap的大部分样式官方都是写好的,所以只需要class="官方样式即可",具体可以看官方的案例,下面来个地址 http: ...

随机推荐

  1. SpringBoot 传入JSON对象参数

    1.请求参数格式必须是正确的JSON. 2.在入参中使用注解@RequestBody,用于接收JSON参数,使其自动转对象 3.关于lombok在此产生的一点小坑,@Builder对@RequestB ...

  2. EF 批量增删改 EntityFramework.Extensions

    EntityFramework.Extensions 1.官方网站  http://entityframework-extensions.net/ 2 破解版  Z.EntityFramework.E ...

  3. Mybatis环境搭建:自学随笔

    环境:IDEA  MySQL 1.建立maven工程,导入坐标:编辑pom.xml,建立mybatis约束. 在https://mybatis.org/mybatis-3/zh/getting-sta ...

  4. MySQL/MariaDB数据库的存储过程

    MySQL/MariaDB数据库的存储过程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.存储过程概述 1>.存储过程优势 存储过程把经常使用的SQL语句或业务逻辑封装起 ...

  5. Pthon面向对象-特殊属性

    Pthon面向对象-特殊属性 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   一.特殊属性 #!/usr/bin/env python #_*_conding:utf-8_*_ ...

  6. 在k8s集群部署SonarQube

    目录 1.2.存储环境 1.3.sonarqube版本 2.部署sonarqube 2.1.部署PostgreSQL 2.2.部署SonarQube 2.3.访问检查 SonarQube 是一款用于代 ...

  7. aspose将word转pdf时乱码,或者出现小方框问题

    通常来讲,出现这种问题一般是因为Linux服务器没有安装中文字体  查看Linux目前的所有字体 fc-list #查看Linux目前的所有中文字体 fc-list :lang=zh #将window ...

  8. 项目Alpha冲刺(团队)-第九天冲刺

    格式描述 课程名称:软件工程1916|W(福州大学) 作业要求:项目Alpha冲刺(团队) 团队名称:为了交项目干杯 作业目标:描述第九天冲刺的项目进展.问题困难.心得体会 队员姓名与学号 队员学号 ...

  9. python开发笔记之zip()函数用法详解

    今天分享一篇关于python下的zip()函数用法. zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素按顺序组合成一个tuple,每个tuple中包含的是原 ...

  10. nginx的alias与root的区别

    root的写法: location /request_path/image/ { root /local_path/image/; } 这样配置的结果就是当客户端请求 /request_path/im ...