59620


以下は、ネット上にあった他の方の書かれたソケット通信のサンプルプログラムです。  
<https://qiita.com/akakou/items/e9fbcfc0c69cc957152e>

[code]

    from socket import socket, AF_INET, SOCK_DGRAM
    
    HOST = ''
    PORT = 5000
    ADDRESS = "127.0.0.1" # 自分に送信
    
    s = socket(AF_INET, SOCK_DGRAM)
    # ブロードキャストする場合は、ADDRESSを
    # ブロードキャスト用に設定して、以下のコメントを外す
    # s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)
    
    while True:
        msg = input("> ")
        # 送信
        s.sendto(msg.encode(), (ADDRESS, PORT))
    
    s.close()
    
[/code]

上記のコードでは、whileループの後にclose()の処理があります。  
しかし、上記のようなコードの場合、whileループから抜け出すことがないので  
closeが実行されることはなさそうな気がするのですが  
closeを書く意味というのはあるのでしょうか？

close()を実行したほうが良い時というのはどのような時なのでしょうか？


CC BY-SA 4.0
2019-10-10T10:27:59.980
59619
2019-10-10T11:48:15.387
2019-10-10T10:44:42.280
34471
34471
question
python network socket
socket通信のclose()について


> close()を実行したほうが良い時というのはどのような時なのでしょうか？

このコードにおいては、意味はありません。  
しかし、一般的には、socketなどのファイルディスクリプタは、使い終わったらcloseするべきです。


CC BY-SA 4.0
2019-10-10T11:48:15.387
59620
2019-10-10T11:48:15.387
806
59619
answer