udpバインド情報
1246 ワード
1.udpネットワークプログラム-ポートの問題が変わるポート番号 説明:ネットワークプログラムを再実行するたびに、上図の赤い輪の数字が異なるのは、この数字がこのネットワークプログラムを識別し、再実行時にどれを使用するかが確定していない場合、システムのデフォルトでは がランダムに割り当てられるからである.覚えておいてください.このネットワークプログラムは実行中にこのプログラムを一意に識別するので、他のコンピュータのネットワークプログラムがこのプログラムにデータを送信したい場合は、この数字(ポート)で識別されたプログラムに送信する必要があります. 2.udpバインド情報
<1>. バインド情報
一般的に、1台のコンピュータで実行されるネットワークプログラムは多く、他のネットワークプログラムと同じポート番号を占有しないために、プログラミングではudpのポート番号は一般的にバインドされないことが多い.
しかし、サーバー側のプログラムを作成する必要がある場合は、バインドする必要があります.これはなぜですか.
警報電話が毎日変わると、世界は混乱するに違いないので、一般的なサービス的なプログラムでは、固定されたポート番号が必要になることがよくあります.これがいわゆるポートバインドです.
<2>. バインドの例
udpネットワークプログラムです.バインドしないでください.オペレーティングシステムはランダムにポートを割り当てます.このプログラムを再実行すると、 が変化する可能性があります. udpネットワークプログラムは、情報(ipアドレス、ポート番号)をバインドすることもでき、バインドに成功すると、オペレーティングシステムはこのポート番号で受信したネットワークデータがこのプロセスの であるかどうかを区別する.
<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()