c#NamedPipe命名管道通信例子
服务端
private NamedPipeServerStream pipeServer;
private Thread receiveDataThread = null;
public fServer()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
receiveDataThread = new Thread(ReceiveDataFromClient) {IsBackground = true};
receiveDataThread.Start();
}
private void ReceiveDataFromClient()
{
while (true)
{
pipeServer = new NamedPipeServerStream("Server", PipeDirection.InOut, );
pipeServer.WaitForConnection();
StreamReader sr = new StreamReader(pipeServer);
string jsonData = sr.ReadLine();
this.Invoke(new EventHandler(delegate
{
this.tblRecMsg.Text = jsonData+DateTime.Now;
}));
sr.Close();
}
}
客户端
private void button1_Click(object sender, EventArgs e)
{
try
{
var str = txtSendMsg.Text;
using (NamedPipeClientStream pipeClient =new NamedPipeClientStream(".", "Server", PipeDirection.InOut, PipeOptions.None, TokenImpersonationLevel.None))
{
pipeClient.Connect();
//发送
using (StreamWriter sw = new StreamWriter(pipeClient))
{
sw.WriteLine(str);
sw.Flush();
}
}
}
catch (Exception ex)
{
throw ex;
}
}
c#NamedPipe命名管道通信例子的更多相关文章
- C#命名管道通信
C#命名管道通信 最近项目中要用c#进程间通信,以前常见的方法包括RMI.发消息等.但在Windows下面发消息需要有窗口,我们的程序是一个后台运行程序,发消息不试用.RMI又用的太多了,准备用管道通 ...
- Linux学习记录--命名管道通信
命名管道通信 什么是命名管道 一个主要的限制是,它是匿名管道的应用还没有名字,因此,只有它可以用于进程间通信的方式与亲缘关系.在命名管道(named pipe或FIFO)提出后,该限制得到了克服.FI ...
- C++和C#进程之间通过命名管道通信(上)
C++和C#进程之间通过命名管道通信(上) "命名管道"是一种简单的进程间通信(IPC)机制.命名管道可在同一台计算机的不同进程之间,或在跨越一个网络的不同计算机的不同进程之间,支 ...
- c# c++通信--命名管道通信
进程间通信有很多种,windows上面比较简单的有管道通信(匿名管道及命名管道) 最近做个本机c#界面与c++服务进行通信的一个需求.简单用命名管道通信.msdn都直接有demo,详见下方参考. c+ ...
- linux命名管道通信过程
前一个道,这节学习命名管道. 二命名管道 无名管道仅仅能用来在父子进程或兄弟进程之间进行通信,这就给没有亲缘关系的进程之间数据的交换带来了麻烦.解决问题就是本节要学习的还有一种管道通信:命名管道. 命 ...
- windows10使用VS(VC++)创建c++多进程命名管道通信
代码可以在 这里 下载 代码主要涉及到: 管道通信 多线程(含临界区) 多进程通信 创建的子进程独立运行 更新日志: 04-12-2020 1. 去除自定义函数返回值,改为int作为函数返回值并增加相 ...
- windows namedPipe 命名管道clent and server
1.client: #include "iostream" #include "windows.h" using namespace std; void mai ...
- C#使用(NamedPipe)命名管道通信的例子
https://blog.csdn.net/yl2isoft/article/details/20228279
- 命名管道-MSDN例子
服务器: #include "stdafx.h" #include <windows.h> #include <stdio.h> #include < ...
随机推荐
- WebApi中的Session与Token间的处理对接
首先,说起来创建session,一般会针对注册登录或者授权等情况: session 从字面上讲,就是会话.这个就类似于你和一个人交谈,你怎么知道当前和你交谈的是张三而不是李四呢?对方肯定有某种特征(长 ...
- python 如何在一个.py文件中调用另一个.py文件的类
如果是在同一个 module中(也就是同一个py 文件里),直接用就可以如果在不同的module里,例如a.py里有 class A:b.py 里有 class B:如果你要在class B里用cla ...
- 一、K3 Cloud 实施指导《K3 Cloud实施手册》
1.在BOS的单据体取不到序号字段 举例:单据体标识是FValueGrid,序号标识是FSeq,取到的序号标识要写成FValueGrid_FSeq才能识别到 2.k3 Cloud目前不支持在表头字段调 ...
- Java基础学习(一)---Java初识
一.Java介绍 关于Java的诞生和发展网上比较多,在此就不再赘述了,可以参考http://i.cnblogs.com/EditArticles.aspx?postid=4050233. 1.1 J ...
- Mac下git通过SSH进行免密码安全连接github
Git——The stupid content tracker(傻瓜内容跟踪器) Git是Linux的缔造者Linus Torvalds为了帮助管理Linux内核源码而开发的一款免费.开源的分布式版本 ...
- customer.java
package banking; public class Customer { private String firstName; private String lastName; private ...
- Python基础爬虫
搭建环境: win10,Python3.6,pycharm,未设虚拟环境 之前写的爬虫并没有架构的思想,且不具备面向对象的特征,现在写一个基础爬虫架构,爬取百度百科,首先介绍一下基础爬虫框架的五大模块 ...
- c# 编程小技巧
1.对于界面布局,可以考虑使用 wpf,对于传统winfrom来说,tableLayoutPanel1可能是最好的选择. 2.你一定会问,如何使用代码管理大量的按钮,可以使用 List<Butt ...
- [No0000B1]ReSharper操作指南2/16-ReSharper食谱与特定于域的教程
自动导入名称空间 有关更多信息,请参阅导入缺少命名空间. 每当您使用未添加using语句的命名空间中的类型时,ReSharper会为您提供在您所在文件的顶部添加相应的语句.这由在所使用的类型上方显示的 ...
- linux 背单词
命令缩写: ls:list(列出目录内容) cd:Change Directory(改变目录) su:switch user 切换用户rpm:redhat package manager 红帽子打包管 ...