溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python如何實(shí)現(xiàn)UDP程序通信

發(fā)布時(shí)間:2020-07-27 10:11:29 來(lái)源:億速云 閱讀:184 作者:小豬 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要為大家展示了Python如何實(shí)現(xiàn)UDP程序通信,內(nèi)容簡(jiǎn)而易懂,希望大家可以學(xué)習(xí)一下,學(xué)習(xí)完之后肯定會(huì)有收獲的,下面讓小編帶大家一起來(lái)看看吧。

運(yùn)行流程:編輯好代碼后,通過(guò)cmd打開(kāi)文件執(zhí)行。例:C:\Users\小李酷少>C:\Users\小李酷少\Desktop\發(fā)送端.py hello

易見(jiàn)問(wèn)題:在運(yùn)行程序的時(shí)候容易出現(xiàn)“請(qǐng)求的地址無(wú)效”的情況:

Python如何實(shí)現(xiàn)UDP程序通信

這是因?yàn)樵诰庉嫶a時(shí)候輸入的ip地址不正確。

解決方法:

打開(kāi)cmd,輸入ipconfig,查看本機(jī)ip地址。如下圖

Python如何實(shí)現(xiàn)UDP程序通信

之后在代碼行修改為正確的IP地址就好啦。

1、代碼

(1)接收端代碼:

import socket
#使用IPV4協(xié)議,使用UDP協(xié)議傳輸數(shù)據(jù)
s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
#綁定端口和端口號(hào),空字符串表示本機(jī)任何可用IP地址
s.bind(('192.168.0.106', 5000))
while True:
  data, addr=s.recvfrom(1024)
   #顯示接收到的內(nèi)容
  print('received message:{0} from PORT {1} on {2}'.format(data.decode(),
                               addr[1], addr[0]))
  if data.decode().lower() == 'bye':
    break
s.close( )

(2)發(fā)送端代碼:

import socket
import sys
s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.sendto(sys.argv[1].encode() , ("192.168.0.106" ,5000))#假設(shè)192.168.0.103是接收端機(jī)器的IP地址
s.close( )

2、運(yùn)行結(jié)果:

(1)發(fā)送端:

Python如何實(shí)現(xiàn)UDP程序通信

(2)接收端:

Python如何實(shí)現(xiàn)UDP程序通信

以上就是關(guān)于Python如何實(shí)現(xiàn)UDP程序通信的內(nèi)容,如果你們有學(xué)習(xí)到知識(shí)或者技能,可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI