雇用DAY2_ネットワークプログラミング_ファイル・ダウンロード・クライアントとサーバ

インポートソケットDEF メイン():
    ソケット作成 
    TCP_SOCKETを= socket.socket(はsocket.AF_INET、socket.SOCK_STREAM)

    #1 、GETサーバポートIP 
    INPUT =(dest_addrは、 " サーバのIPを入力してください:" 
    dest_portは = INT(INPUT (サーバーのポートを入力してください:)) 

    リンクサーバー
    tcp_socket.connect((dest_addrは、dest_portは)) 

    ダウンロードしたファイル名を取得します 
    (=入力したファイルをダウンロードするファイルの名前を入力してください:

    送信元のファイル名サーバへの 
    tcp_socket.send(file.encode(" GBK " )) 

    受信ファイルデータ 
    recv_data = tcp_socket.recv(1024 

    ファイルに受信したデータを保存
    IF recv_data:
        オープンで(" コピー" +ファイル、" WB " )F AS:
            f.write(recv_data) 
    閉じますソケット
    tcp_socket.close()


IF  __name__ == " __main__ " 
    main()の
インポートソケット

DEF send_file_2_client(client_socket、CLIENT_ADDR): #
     ダウンロードしたファイル名の受信1 
    #をクライアントに送信受信要求を、受信したクライアントが送信され、ファイル名 
    FILE_NAME = client_socket.recv(1024 印刷クライアント%sの送信され、ファイル名:S%"%(STR(CLIENT_ADDR)、file_name.decode(" GBK " )))

    FILE_CONTENT = なし
     ファイルを開くには、図2に示すように、データを読み込む
    試して
        F =オープン(file_name.decode(" GBK ")、" RB " 
        FILE_CONTENT =f.read()は
        ()f.close 
    除く:RET AS例外を
         印刷するファイルS%ダウンロードしたくない%のRET) 

    クライアントにファイルを送信するために、データ3 
    のIF   FILE_CONTENT:
    クライアントへのデータの一部をエコー
        client_socket。センド(FILE_CONTENT)


DEF メイン():
    は、携帯電話を購入- TCPソケットの作成 
    TCP_SOCKETを= socket.socket(はsocket.AF_INET、socket.SOCK_STREAM) 

    電話カードに-結合 
    tcp_socket.bind((""、7890 ) )

    #は)活性によって受動的になり、聞くように、通常モード(デフォルトのソケットを鳴らすために電話を設定 
    tcp_socket.listen(128 

    、一方真:
         #の誰かの電話の到着を待つが(受け入れリンククライアントを待っている) 
        client_socket、CLIENT_ADDR = tcp_socket.accept() 

        印刷(client_socket)
        印刷(CLIENT_ADDR)

        send_file_2_client(client_socket、CLIENT_ADDR)

        ソケットのクローズ

        client_socket.closeを()
    TCP_SOCKETを.close()

IF  __name__ == " __main__ " 
    main()の

 

おすすめ

転載: www.cnblogs.com/joycezhou/p/11440429.html