編集:私はapply()
セキュリティ競争のために、ピクルスの悪用のために非推奨を使用しています。apply
pickle命令文字列を使用してメソッドを呼び出す方法のようです。しかし、もっと良い方法を知っていただければ幸いです。
でメソッドapply()
を呼び出そうとしていますが、奇妙なエラーメッセージが表示されます。send()
socket._socketobject
In [130]: client
Out[130]: <socket._socketobject at 0x108d0bfa0>
In [131]: apply(socket._socketobject.send, (client, "stuff"))
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-131-3f9b1f1de824> in <module>()
----> 1 apply(socket._socketobject.send, (client, "stuff"))
TypeError: 'member_descriptor' object is not callable
興味深いことに、send()
これは関数型であり、次のように呼び出すことができます。
In [128]: client.send
Out[128]: <function send>
In [129]: client.send("stuff")
Out[129]: 5
これは、私が最初にclientという名前のソケットオブジェクトを取得した方法です。
In [107]: import signal
In [108]: sock = socket.socket()
In [109]: sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
In [110]: sock.bind(('0.0.0.0', 1025))
In [111]: sock.listen(10)
In [112]: signal.signal(signal.SIGCHLD, signal.SIG_IGN)
Out[112]: 0
In [113]: client, addr = sock.accept()
どんな助けでも大歓迎です!