1

.send()グローバル レベルで宣言されたソケットの関数の呼び出しに問題があります。

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 スキル用のフラスコ アスク Web サービスでありmyfunc()、対応する Alexa カスタム スキル インテントをアクティブ化することによって呼び出されることを確認したことを付け加えたいと思います。

4

1 に答える 1