複数のプロセスに完全なhttpサーバを使用して、セクションXIV

インポートソケット
 インポートマルチプロセッシング


DEFのtcp_serve(resp_socket):
    recv_data = resp_socket.recv(1024 プリント(recv_data)
    resp_data = ' HTTP / 1.1 200 OK \ R&LT \ N-ある' + " \ R&LT \ N- " + ' ' 
    #のブラウザの識別破壊行動\ R&LT \ N- 
    resp_socket.send(resp_data.encode(' UTF-8。' ))
    resp_socket.close()

DEF メイン():
     "" " 簡単なWebサーバー" ""    
    1、単語を作成スイート
    128は、リンクの数が最大のクライアントが実行されています
    = web_socket socket.socket(はsocket.AF_INET、socket.SOCK_STREAM)
    web_socket.setsockopt(socket.SOL_SOCKET、socket.SO_REUSEADDR、 1 あなたが近くに呼び出すためにサーバーを強制する場合は、ポート、またはポートをリンクするために再度変換する必要が待機を占有しますフィードバッククライアント 
    web_socket.bind((' 192.168.0.106 '、8080 ))
    web_socket.listen( 128 しながら、真:     
        resp_socket、resp_addr = web_socket.accept()
        握手は3が開始し始めた接続である
        '' ' 3ウェイハンドシェイク成功は、サーバが受け入れる呼び出しを開始され、
        最初の接続立ち上げながらサイクルが開始すると、サーバーはそのサービスの成功に握手を開始し、それが2番目のクライアントが要求を開始した場合、この時点では、データを送信し
        、第2のクライアントが待機しますクライアントにサービスを提供する最初のサーバーは、新しいリンクを受け入れることができません
        これは待つために、第2のクライアントをもたらした
        最初のクライアントは、個々のサービスの成功の後に握手をして、2番目のクライアントの待ち時間を短縮することができためので、マルチタスクを作成して
        マルチタスクの役割は握手をするための時間を短縮することではありませんので、しかし、サービスの待ち時間短縮
        「」 ' 
        #のtcp_serveを( resp_socket) 
        P-multiprocessing.Process =(対象= tcp_serve、引数= (resp_socket、))
        p.start() 
        resp_socket.close()
        すべてがUbuntuのであるので、Ubuntuの中でそれを必要としているようですファイルは、マルチコピー処理は、ファイル記述子の二つ以上resp_socketその結果、窓がないようです
    web_socket.close()


IF  __name__ == __main__ 
    main()の

 

おすすめ

転載: www.cnblogs.com/kogmaw/p/12602496.html