ホームページ  >  記事  >  バックエンド開発  >  Pythonでudpデータグラム送信を実装する方法

Pythonでudpデータグラム送信を実装する方法

WBOY
WBOYオリジナル
2016-06-16 08:41:442309ブラウズ

この記事の例では、Python で UDP データグラム送信を実装する方法について説明します。これは非常に実用的です。皆さんの参考に共有してください。具体的なメソッド分析は次のとおりです。

サーバーコード:

import socket 
port = 8081 
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) 
#从给定的端口,从任何发送者,接收UDP数据报 
s.bind(("",port)) 
print 'waiting on port:',port 
while True: 
  data,addr = s.recvfrom(1024) 
  #接收一个数据报(最大到1024字节) 
  print 'reciveed:',data,"from",addr 

クライアントコード:

import socket 
port = 8081 
host = "localhost" 
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) 
s.sendto("hello world",(host,port)) 

結果: 最初にサーバーを実行し、次にクライアントを実行します。
サーバーは次のように出力します:

waiting on port: 8081
reciveed: hello world from ('127.0.0.1', 62644)

補足:
ソケット.sendto(文字列[, フラグ], アドレス)

公式文書は次のとおりです:

ソケットにデータを送信します。宛先ソケットはアドレスで指定されるため、ソケットはリモート ソケットに接続しないでください。オプションの flags 引数は、送信されたバイト数を返します。 (アドレスの形式はアドレス ファミリによって異なります。上記を参照してください。) プロトコル タイプがソケット.SOCK_DGRAM の場合、アドレス パラメータはタプルであり、(ホスト, ポート) の形式は

です。

この記事が皆さんの Python プログラミング設計に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。