Python请求对象通过套接字返回

时间:2012-06-21 05:16:48

标签: python sockets object return send

我的设置如下:

Python 2.6(嵌入在商业应用程序中)使用 subprocess 在(外部)python 2.7中启动外部脚本。
然后外部脚本使用套接字模块将python命令发送回嵌入式python 使用以下代码初始化套接字:

self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  

我使用以下命令发送命令:

self.sock.send("print ('hello, world!')")

此刻目前运作良好。我能够发送我想要的所有命令,并很好地控制程序。

我的问题:如何请求通过套接字发回信息?
例如,我需要让程序给我一个字符串列表。但我很难掌握嵌入式python如何通过我的开放套接字发回任何数据? 谢谢!

1 个答案:

答案 0 :(得分:1)

您始终可以进行双向套接字通信。

当外部python发送内容时,总是发送一个元组,其中一个参数可以指定你要求的东西。

让我举个例子,

设置双向套接字通信(简单客户端 - 服务器模型 - 同步或异步取决于您的项目/应用程序所需的内容。)

2.7发送这样的元组 -

(<command>, 1)

1表示您希望输出的命令(您说的有效)将被发送回2.7。

因此,当2.6接收元组时,元组的第0个位置始终表示它尝试发送的命令,第1个位置表示发送返回参数。

使用简单的if-else条件,您可以检查它是否为1,然后将结果发送回2.7 - 否则不会。

相当简单的逻辑。