私は接続をリッスンし、クライアントの言うことに基づいてメソッドを呼び出すためのサーバーサイドアプリケーションを作成しようとしています。しかし、メソッドのアップロードを呼び出すと、mainの下でコードを実行し続けたいと思います。レスポンスを期待せずにメソッドを呼び出す
私はこれを達成することができますか、間違ったアプローチをとっていますか?以下のコード。
def main(ipAddr, tcpPort, bufferSize, s):
try:
s.bind((ipAddr, tcpPort))
s.listen(4)
conn, addr = s.accept()
print("Connection attempt from: %s" % addr)
messageRecv = ""
while True:
data = conn.recv(bufferSize)
if not data: break
messageRecv = data.decode('utf-8')
finally:
conn.close()
if messageRecv == "Ready": upload(addr)
main(ipAddr, tcpPort, bufferSize, s)
def upload(addr):
pass
私はマルチスレッドのプログラミングについて読むことをお勧めします:あなたのケースでは
は、あなたがこのようなものであってもよいです。あなたはこの[チュートリアル](https://www.tutorialspoint.com/python/python_multithreading.htm)を見ることができます –
インデントを修正してください。 – Nurjan
最近のPythonをお使いの方は、[asyncio'パッケージ](https://docs.python.org/3/library/asyncio.html)を見てみてください。古いバージョンのPythonでは、[Twisted](https://twistedmatrix.com/)を使用してください。 –