首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >C# AnonymousPipeServerStream可以创建非.NET客户端吗?

C# AnonymousPipeServerStream可以创建非.NET客户端吗?
EN

Software Engineering用户
提问于 2020-02-08 16:21:35
回答 2查看 391关注 0票数 0

例如,如果我想用C#编写一个使用匿名管道与用另一种语言编写的程序通信的守护进程程序,这既可能也可行吗?

我之所以这样问,是因为我打算用一种能够交叉编译到多个目标(Haxe)的语言来编写代码。我打算编写一个应用程序,它可以动态编译代码,运行它,并在一段时间内与它进行通信,其他目标的编译速度要快于C# (例如,任何脚本语言),我可以轻松地用Haxe编写与平台无关的客户端代码,但是这在C#中使用AnonymousPipeServerStream是可行的吗?

我看到客户端句柄只是一个strIng,这个字符串是干什么用的?如何使用它初始化AnonymousPipeClientStream,我是否可以在客户机程序中创建一个跨平台抽象,以类似的方式从.NET服务器应用程序初始化和使用客户机句柄?

大多数语言都支持子处理,方法是运行shell命令,并为程序的stdin、stdout和stderr流返回带有句柄的对象。例如,这是初始化AnonymousPipeServerStream的先决条件,底层程序只是用管道句柄做一些事情,大概这比使用System.Diagnostics.Process.Stdin/Stdout更有性能吗?

这和匿名管道有什么不同?

EN

回答 2

Software Engineering用户

发布于 2020-03-13 11:56:38

根据进一步的研究,简短的回答(对主要问题)是肯定的。

第二个问题的答案取决于语言,例如哈希林克确实使用匿名管道作为子进程

票数 1
EN

Software Engineering用户

发布于 2021-08-05 23:27:10

如果目标是在c#程序和其他程序之间进行通信,我建议使用某种消息传递库,而不是管道。

问题是管道不处理消息,只处理字节。因此,您可能需要在管道上实现您自己的协议,并为您想要针对的每种语言再次实现该协议。

以ZeroMq作为消息队列的示例。它有相当多的语言绑定已经可用,我怀疑至少有一些消息传递框架支持管道传输。但是,还有许多其他库/协议可供选择。

您可能还想考虑序列化,使用一个好的序列化库来管理它要容易得多,我想大多数语言都支持最常见的格式,比如json。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/404892

复制
相关文章
[Leetcode 2021 刷题计划] 224. 基本计算器
由于只含有加减法和括号, 并不需要考虑运算优先级的问题,仅有由于括号外符号对括号内符号的影响。所以只需要考虑括号外符号对括号内符号的反转。
windism
2021/03/10
2910
224. 基本计算器
字符串表达式可以包含左括号 ( ,右括号 ),加号 + ,减号 -,非负整数和空格 。
张伦聪zhangluncong
2022/10/26
3840
227. 基本计算器 II
字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。
张伦聪zhangluncong
2022/10/26
3130
[Leetcode 2021 刷题计划] 227. 基本计算器 II
每日一题时间: 2020-03-11 题目链接: 227. 基本计算器 II 官方题解链接: 基本计算器 II 题目 给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。 整数除法仅保留整数部分。 示例 1: 输入:s = "3+2*2" 输出:7 示例 2: 输入:s = " 3/2 " 输出:1 示例 3: 输入:s = " 3+5 / 2 " 输出:5 提示: 1 <= s.length <= 3 * 105 s 由整数和算符 ('+', '-', '*', '/') 组成,中间
windism
2021/03/11
3220
c++实现简单计算器
帮一个同学写的,非计算机类专业,应付交差,也没什么功能,两个数的加减乘除运算,以及三角函数的运算。要求用到模板、运算符重载和异常处理。 一直以来都是用的java,没怎么用过c++,就当是复习了一下c++语法。 代码如下: 1 #include<iostream> 2 #include<string> 3 #include<cmath> 4 #include<cstdlib> 5 6 using namespace std; 7 8 //四则运算 9 template
欠扁的小篮子
2018/04/10
2K0
Basic Calculator 基本计算器-Leetcode
1.题目: Implement a basic calculator to evaluate a simple expression string. The expression string may contain open ( and closing parentheses ), the plus + or minus sign -, non-negative integers and empty spaces . You may assume that the given expression is
老白
2018/03/19
1.2K0
227. 基本计算器 II
给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。 整数除法仅保留整数部分。 示例 1: 输入:s = "3+2*2" 输出:7 示例 2: 输入:s = " 3/2 " 输出:1 示例 3: 输入:s = " 3+5 / 2 " 输出:5 class Solution { public int calculate(String s) { /** 有一个记录上一次出现的符号变量的 pre 加法直接入栈
编程张无忌
2021/06/01
3280
LeetCode 224. 基本计算器(栈)
字符串表达式可以包含左括号 ( ,右括号 ),加号 + ,减号 -,非负整数和空格 。
Michael阿明
2020/07/13
5590
c++多态案例之计算器类
案例描述:利用普通技术和多态技术分别实现两个操作数进行运算的计算器类。 多态的优点:代码结构清晰;可读性强;利于前期和后期的扩展以及维护; #include<iostream> using namespace std; //普通写法,如果想扩展,需要修改源码 //在实际开发中,提倡开闭原则,对扩展进行开发,对修改进行关闭 class Calculator { public: int num1; int num2; int getResult(string oper) {
西西嘛呦
2020/08/26
6340
LeetCode 227. 基本计算器 II(栈)
字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。
Michael阿明
2020/07/13
6250
LeetCode 227. 基本计算器 II(栈)
C++基本语法
&在c++中的一种作用为取出当前变量在内存的逻辑地址 *在c++中的一种作用为取出当前逻辑地址对应的内存空间的值 c++中提供指针变量存储对象的地址,指针的运算会被编译器优化为地址的运算,比如一个int类型的指针 p+1的值实际是p指向的地址+1个int所占空间大小后的逻辑地址 指针语法为 typename * variable,比如
歪歪梯
2020/08/17
1.1K0
用C++模拟"奇怪"的手机计算器
风水轮流转,出道多年一向默默无闻的手机计算器突然成了网红,类似手机计算器“全线阵亡”这样的言论充斥各种媒体。问题的起源是网友发现手机计算器上计算10%+10%这样的小学数学范畴的运算时,手机计算器得出的结果并不是标准数学答案0.2,而是让人觉得有点奇怪的0.11!这是不是手机计算器软件设计者出现的bug呢?
诸葛青云
2019/10/07
9030
用C++模拟"奇怪"的手机计算器
力扣227——227. 基本计算器 II
字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。整数除法仅保留整数部分。
健程之道
2020/03/12
3410
☆打卡算法☆LeetCode 224. 基本计算器 算法解析
大家好,我是小魔龙,Unity3D软件工程师,VR、AR,虚拟仿真方向,不定时更新软件开发技巧,生活感悟,觉得有用记得一键三连哦。
恬静的小魔龙
2022/09/27
4560
☆打卡算法☆LeetCode 224. 基本计算器 算法解析
简单计算器 C++ 你是真的会玩坑
模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。
叶茂林
2023/07/30
2360
小朋友学C++(24):实现简易计算器
一、需求 编写一个简易计算器,能实现最基本的加减乘除四则运算。 二、代码实现 #include <iostream> using namespace std; int main() { double num1,num2; char op; // 运算符号 char flag; // 是否继续运算,'Y'或'y'表示是,'N'或'n'表示否 while(true) { cout << "Enter first number:" << end
海天一树
2018/12/24
7980
【C++简明教程】C++基本语法
在 C++ 中,分号是语句结束符。也就是说,每个语句必须以分号结束。它表明一个逻辑实体的结束。
机器视觉CV
2020/07/23
9680
【C++简明教程】C++基本语法
C语言和C++混合开发简单版本计算器
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
cwl_java
2019/10/28
1.2K0
C语言和C++混合开发简单版本计算器
基于STM32设计的计算器(实现基本运算)
计算器是最常见的工具了,现在不管是手机、电脑都带有计算器功能,支持强大的科学运算等。
DS小龙哥
2022/01/06
2K0
基于STM32设计的计算器(实现基本运算)
C++ OpenCV基本阈值操作
新建一个项目opencv-0014,配置属性(VS2017配置OpenCV通用属性),然后在源文件写入#include和main方法.这次我们直接在第二个图片上加上一个TrackBar直接显示出来,然后再进行操作,其中定义了一个thresthold_value的值为TrackBar的初始值,然后写了定义一了个TrackbarEvent(int,void*)的事件用于关联Trackbar的,这次我们加载的图片是几何形状的图片
Vaccae
2019/07/24
2K0

相似问题

C++新手-基本计算器问题

40

C++基本计算器。初学者

34

基本计算器

23

基本贷款计算器

12

基本JFrame计算器

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档