-1

以下の質問のコードを手伝ってくれる人はいますか

Write a multi-threaded Echo Handler in Python.

各スレッドはクライアントからの接続を処理できる必要がありますが、他のスレッドは他のクライアントからの接続を同時に処理します。テストするには、time.sleep() 呼び出しを使用して並行性を確保します。3 ~ 5 スレッドを使用します。各スレッドは、異なるポート番号を処理する必要があります。

私は次のコードを試しました:

  ` #!/usr/bin/python


   import socket


    import thread


    import time


     def Child_thread(clientsocket, (ip,port), id ):


    data = "anonymous data"
    print "Client with ID %d is now alive" %id
    while len(data) > 0:
    data = clientsocket.recv(2048)
    print "data received from client with ID %d" %id
    print "Data recieved is %s" %data
    clientsocket.send(data)
    print "Closing the connection.... of client with ID %d" %id
    print "and port number %d" %port
    clientsocket.close()
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    sock.bind( ("0.0.0.0", 8001) ) 
    sock.listen(2) 
    for i in range(5):
    print "Server is listening for clients"  
    (clientsocket, (ip,port) )  =  sock.accept()
    print "received connection from %s" %ip
    print "Received connection from port number %d" %port
    print "Starting Echo Server"
    thread.start_new_thread(Child_thread, (clientsocket, (ip,port), (i,)))
    time.sleep(10)
    print "Server is shutting down"
    sock.close()`
4

1 に答える 1