我的设置如下:
Python2.6(嵌入在商业应用程序中)使用子进程在(外部) Python 2.7中启动外部脚本。
然后,外部脚本使用套接字模块将python命令发送回嵌入式python。
套接字使用以下代码初始化:
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 我使用以下命令发送命令:
self.sock.send("print ('hello, world!')")这件事目前运作得很好。我能够发送所有我想要的命令,并很好地控制程序。
我的问题:如何请求通过套接字将信息发回?
例如,我需要让程序给我一个字符串列表。但是,我很难理解嵌入式python将如何通过我打开的套接字发送回任何数据?
谢谢!
发布于 2012-06-21 06:58:47
您可以始终使用双向套接字通信。
当外部python发送某些内容时,请始终发送一个元组,其中一个参数可以指定您所要求的内容。
我举个例子,
设置双向套接字通信(简单的客户机-服务器模型-同步或异步取决于您的项目/应用程序需要什么)。
2.7像这样送一个元组-
(<command>, 1)指示您希望您发送的命令的输出(您说它正在工作)的1将被发送回2.7。
因此,当2.6接收到元组时,元组的第0位置总是表示它试图发送的命令,第一个位置表示发送回参数。
使用一个简单的if - not条件,您可以检查它是否为1,然后将结果发回2.7 -否则不会。
相当简单的逻辑。
https://stackoverflow.com/questions/11131882
复制相似问题