python|基於兩個py文件的udp通信(含實例源碼)

本博文源於socket編程,主要針對python的兩個文件建立udp通信。

實驗效果

客戶端輸入:我是客戶端哦!
服務器收到並作爲回聲
在這裏插入圖片描述
服務器端:
收到來自客戶端的消息,並給予同樣的迴應!
在這裏插入圖片描述

實驗原理

用socket建立基於UDP協議的服務器流程步驟

s = socket() # 建立套接字
s.bind() # 綁定本機地址
s.recvfrom()或s.sendto() # 接受數據或發送數據
s.close() # 關閉套接字

用socket建立基於UDP協議的服務器流程

s = socket() # 建立套接字
s.recvfrom()或s.sendto() # 接收數據或發送數據
s.close() # 關閉套接字

根據這些步驟編出如下代碼:

實驗代碼

服務器端等待連接
server.py

# udp 服務器端
import socket

HOST = ''
PORT = 10888
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.bind((HOST, PORT))
data = True
while data:
    data,address = s.recvfrom(2048)
    if data == b'bye':
        break
    print('Received String:',data.decode('utf-8'))
    s.sendto(data,address)
s.close()

客戶端主動連接
client.py

import socket

HOST = 'localhost'
PORT = 10888
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
data = '你好!'
while data:
    s.sendto(data.encode('utf-8'),(HOST,PORT))
    if data == 'bye':
        break
    data, addr = s.recvfrom(512)
    print('Recv from server:\n',data.decode('utf-8'))
    data = input('Please input a info:\n')
s.close()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章