小编Meh*_*ari的帖子

138
推荐指数
3
解决办法
3万
查看次数

Python和C之间的IPC#

我想在Windows中的Python和C#应用程序之间传递数据(我希望通道是双向的)实际上我想传递一个结构,其中包含我用C#(SharpPcap)捕获的网络数据包的数据到Python应用程序然后将修改后的数据包发送回C#程序.你有什么建议 ?(我宁愿这是一个快速的方法)到目前为止我的搜索显示我可以使用这些技术,但我不知道哪个:

  1. JSON-RPC
  2. 使用WCF(使用Ironclad在IronPython下运行项目)
  3. WCF(使用Python for .NET)

c# python rpc ipc bidirectional

6
推荐指数
1
解决办法
1949
查看次数

在C#和Python之间命名管道

我正在尝试在两个程序之间创建一个双向通信通道(一个在Python中,另一个在C#中)

当我在两个C#程序或两个Python程序之间创建命名管道时,一切正常,但是当我尝试(例如)从Python代码连接到C#服务器时,它不起作用:

C#代码:

NamedPipeServerStream server = new NamedPipeServerStream(
    "Demo", PipeDirection.InOut, 100, PipeTransmissionMode.Byte,
    PipeOptions.None, 4096, 4096)
Run Code Online (Sandbox Code Playgroud)

如果我win32pipe在Python中使用代码块ConnectNamedPipe(它永远不会返回)

p = win32pipe.CreateNamedPipe(
    r'\\.\pipe\Demo',
    win32pipe.PIPE_ACCESS_DUPLEX,
    win32pipe.PIPE_TYPE_BYTE | win32pipe.PIPE_WAIT,
    1, 65536, 65536,
    300,
    None)
win32pipe.ConnectNamedPipe(p)
Run Code Online (Sandbox Code Playgroud)

如果我使用open函数,它只是建立一个连接,但没有任何反应:

open( '\\\\.\\pipe\\Demo', 'r+b' )
Run Code Online (Sandbox Code Playgroud)

现在,如果我关闭Python程序,C#服务器只接收来自Python的一个数据项,并System.IO.IOException引发"管道已损坏"消息

我做错了吗?

c# python windows named-pipes

6
推荐指数
2
解决办法
9902
查看次数

如何从python程序中生成多个python脚本?

我想从我的程序中生成(fork?)多个Python脚本(也用Python编写).

我的问题是我想为每个脚本专用一个终端,因为我将使用它来收集它们的输出pexpect.

我已经尝试使用pexpect,os.execlp以及os.forkpty但是他们都没有做,因为我期望的那样.

我想生成子进程并忘记它们(它们将处理一些数据,将输出写入我可以读取的终端,pexpect然后退出).

有没有图书馆/最佳实践/等.完成这份工作?

ps在你问我为什么要写STDOUT并从中读取之前,我会说我不写STDOUT,我读了输出tshark.

python pexpect spawn tshark

3
推荐指数
1
解决办法
3018
查看次数

F#(和.NET)中的浮点精度

  1. 在" F#for Scientists "中,Jon Harrop说:

    粗略地说,int类型的值近似于min-int和max-int之间的实数,并且绝对误差为+ - 1/2,而float类型的值具有近似恒定的相对误差,这是一个百分比的一小部分.

    现在,这是什么意思?Int类型不准确?

  2. 为什么C#为(1 - 0.9)返回0.1但F#返回0.099999999999978?C#更准确,适合科学计算吗?

  3. 我们应该使用十进制值而不是double/float来进行科学计算吗?

floating-point f#

2
推荐指数
1
解决办法
2168
查看次数