如何在Linux上快速地将大型数据从C 发送到Python
How to send LARGE data from c++ to python in a fast way on Linux?
从C 进程到Python过程(且浮点的较小尺寸Linux上从Python到C 的数据?注意:两个过程在同一PC上运行。
我尝试过:
- udp
- 共享内存
for UDP:
要发送的消息大于UDP消息约束(65535),因此直接使用sendto()
会出现错误:消息太长。我也怀疑这是一种快速的方法(大约可以40〜50Hz可以)。
对于共享存储器:
共享内存似乎是将图像从C 发送到C 的快速方法。但是由于Python没有指针,因此我找不到在共享内存中读取和写入数据的方法。
那么,是否有快速的方法可以做上述IPC?或者也许是读写 unsigned char 和 float 键入python中的共享内存的好方法?
mmap在两个应用程序中相同的文件,然后使用域插座来协调mmapped空间的使用。
在Linux上,您可以尝试管道。一个程序将"写入"管子文件,而另一个程序将"读取"它。在这种情况下,C程序将将图像字节的数组写入管道,而Python程序将读取字节流。
除非提前知道框架大小,否则您必须找到一种巧妙的方法来在框架之间使用定界符。
http://www.python-course.eu/pipes.php
否则,TCP插座就足够了。但是要小心 - 如果不关注所有功能的返回值或对消息长度做出假设,这里可能会出错很多。
您可以将两个应用程序内存与swig等工具相结合。
您也可以使用名为Pipe
相关文章:
- 如何使用Python从C++中读取谷物序列化数据
- 使用JsonCpp将数据返回到带有pybind11的python会在python调用中产生Symbol not foun
- 尝试将数据从C++发送到 Python 并使用套接字C++反转,C++ sendto() 和 python recvfr
- 使用 pybind11 调用 Python 函数时避免复制输入数据
- 使用 python 或 c ++ 中的 sql 根据输入数据输出输出示例
- 从C++调用 Python 脚本以持续流式传输数据
- 将数据从 c++ 文件连续发送到 Python 脚本以进行进一步处理
- 使用 pipe() 和 fdopen() 将数据从 Python 脚本传递到 Windows 中的C++应用程序
- 数组数据以错误的方式遍历 Python/Matlab
- 如何将OpenCV图像数据从Python转换为C++?
- 在C++和Python之间交换数据的最快方法是什么?
- 将 Python 数据读入C++代码中
- 将数据保存在C++中,从 Python 加载 - 推荐的数据格式
- Python API用于解析包含数组格式的protobuf数据的二进制文件
- 使用python预处理后,C++(opencv)中的垫子类型数据与image_to_array相同
- 如何为C++结构自动生成 python 数据解析器
- 插座无法接收数据?客户使用boost.asyio库编写.服务器用Python编写
- 使用 Python 连接到数据流
- 使用套接字从 Python(客户端)发送到 C++(服务器)数组的数据
- 如何将数据序列化为C++ zmq 客户端和 Python zmq 服务器之间的通信