我在調用全局級聲明的套接字功能時遇到問題。從功能內訪問全局套接字時遇到問題
from nanomsg import Socket, PAIR, PUB
s2 = Socket(PAIR)
s2.connect('tcp://127.0.0.1:49234')
s2.send(b'connect')
def myfunc():
global s2
s2.send(b'Got here!')
myfunc()
print('closing socket')
s2.close()
在上面的例子中myfunc()
發送的數據永遠不會獲取到接收插座。我知道接收套接字的工作原理是收到全局級的.send()
。
- 編 -
只是想補充一點,我的實際應用程序是一個自定義的Alexa技能的燒瓶中,要求網絡服務,我已經驗證myfunc()
獲取調用通過激活相應的Alexa自定義的技術意圖。
實際上你是否在任何地方調用myfunc()? – kdopen
是的,我的實際應用程序是一個針對alexa技能的問題Web服務,我已驗證「myfunc」實際上正在調用。 –
嗯...只是發現上面的代碼工作,如果我這樣做是一個獨立的腳本。然而,當我嘗試用瓶子來做同樣的事情時,請求web服務對s2.send()的調用掛在由於觸發相應的Alexa自定義技能意圖而被調用的函數中。 –