Python套接字接收数据时C#中的IronPython事件

时间:2017-09-08 08:28:32

标签: c# python

我的python项目中有这段代码:

def Receive():
    while True:
        time.sleep(0.3)
        data, addr = sock.recvfrom(4096)
        data = data.decode()
        print("(Python) => " + currentData)
        time.sleep(0.1)

如果它收到了什么,它会打印出消息,当套接字收到东西时,有没有办法在C#中调用方法?

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你想从使用IronPython运行的python脚本中调用一些用C#编写的代码。最简单的方法是添加对程序集的引用,并直接从python中调用一些静态方法。

Python方

import clr
clr.AddReference("YourAssembly")

from MyNameSpace import MyClass

def Receive():
        while True:
            time.sleep(0.3)
            data, addr = sock.recvfrom(4096)
            data = data.decode()
            print("(Python) => " + currentData)
            time.sleep(0.1)

            # Calling C# handler.
            MyClass.DoSomething()

C#side

namespace MyNamespace {
    public static class MyClass {
        public static void DoSomething() {
            Debug.Print("Doing something...")
        }
    }
}