udpバインド情報

1246 ワード

1.udpネットワークプログラム-ポートの問題
  • が変わるポート番号
  • 説明:
  • ネットワークプログラムを再実行するたびに、上図の赤い輪の数字が異なるのは、この数字がこのネットワークプログラムを識別し、再実行時にどれを使用するかが確定していない場合、システムのデフォルトでは
  • がランダムに割り当てられるからである.
  • 覚えておいてください.このネットワークプログラムは実行中にこのプログラムを一意に識別するので、他のコンピュータのネットワークプログラムがこのプログラムにデータを送信したい場合は、この数字(ポート)で識別されたプログラムに送信する必要があります.
  • 2.udpバインド情報
    <1>. バインド情報
    一般的に、1台のコンピュータで実行されるネットワークプログラムは多く、他のネットワークプログラムと同じポート番号を占有しないために、プログラミングではudpのポート番号は一般的にバインドされないことが多い.
    しかし、サーバー側のプログラムを作成する必要がある場合は、バインドする必要があります.これはなぜですか.
    警報電話が毎日変わると、世界は混乱するに違いないので、一般的なサービス的なプログラムでは、固定されたポート番号が必要になることがよくあります.これがいわゆるポートバインドです.
    <2>. バインドの例
    #coding=utf-8
    
    from socket import *
    
    # 1.      
    udp_socket = socket(AF_INET, SOCK_DGRAM)
    
    # 2.          ,           ,        
    local_addr = ('', 7788) #  ip      ,ip     ,         ip
    udp_socket.bind(local_addr)
    
    # 3.            
    recv_data = udp_socket.recvfrom(1024) #  1024            
    
    # 4.         
    print(recv_data[0].decode('gbk'))
    
    # 5.      
    udp_socket.close()
    

     
  • udpネットワークプログラムです.バインドしないでください.オペレーティングシステムはランダムにポートを割り当てます.このプログラムを再実行すると、
  • が変化する可能性があります.
  • udpネットワークプログラムは、情報(ipアドレス、ポート番号)をバインドすることもでき、バインドに成功すると、オペレーティングシステムはこのポート番号で受信したネットワークデータがこのプロセスの
  • であるかどうかを区別する.