前段时间走了一遍算子模块的开发教程,幻想着学会了就能拓展 vm 的功能,甚至可以做自由插件(模块)市场,每个人分享自己的算子模块……嗯,只是幻想,因为 C++ 太难了!指针操作看得头晕,一个下午就从入门到放弃。
另一个拓展的方式就是将图片传输到 vm 外部,外部处理完再返回结果,说白了就是进程间通信。暂时不用折腾 C++,外部用最爱的 Python 起一个服务去处理 vm 传输过来的图片,然而对网络协议没有什么深入了解,首先想到的就是 TCP/IP。
脚本作为 TCP 客户端,再用 Python 的 asyncio 起一个 TCP 服务端,传输的是被编码的 jpg 字节。
先贴图看下效果,速度大约在 200 ms 以内:
客户端

服务端

具体实现交给编程助手了,我比较关心不依赖任何第三方库、维持长连接(也许并不好)、通信稳定性。
这是我们的对话,可以更清楚看到思路:
代码比较长就不黏贴了,可以在附件中找到导出的 vm 流程文件,以及 Python 代码。