2017-04-17 107 views
0

與此問題類似here,我試圖通過套接字和commandPort將Python連接到Maya。目前,它的工作。我可以將信息發送給Maya,但我無法收到它。Python Socket to Maya接收數據爲無

在我的代碼,在Python的一面,我有:

clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
clientsocket.connect(("127.0.0.1", 1234)) 
clientsocket.send("import maya.cmds as cmds\ncmds.ls(selection=1)") 
data = clientsocket.recv(4096) 
print(data) 

這將返回None。我需要列出的選擇併發回Python。由於字符串的設置方式,我無法創建可行的返回字符串。那麼我如何獲得回報呢?

在瑪雅身邊,我的口被設定爲這樣:

import maya.cmds as cmds 
cmds.commandPort(n=":1234", sourceType="python", echoOutput=True, bufferSize=4096) 

我在做什麼錯?

我正在使用Maya 2016.5和Python 2.7.3,如果有幫助。

回答

0

我解決了我自己的問題。

在Python中,我創建了一個偵聽服務器。 在Maya中,我打開了一個commandPort。 我將命令發送給Maya並返回偵聽服務器。

這樣,我可以有效地發送和檢索從Maya到Python的數據,從Python到Maya。