使用python3.x寫一個基於udp通信的小例子

準備兩段代碼

一段時client端,另一段是server端

client端代碼

from socket import *
serverName = "hostname" # 這裏替換爲你的服務器地址
serverPort = 12000 # 我們使用12000端口進行通信
clientSocket = socket(AF_INET, SOCK_DGRAM)
message = input('input lowercase sentence:')
clientSocket.sendto(message.encode(), (serverName, serverPort))
modifiedMessage,serverAddress = clientSocket.recvfrom(2048)
print(modifiedMessage.decode())
clientSocket.close()

server端代碼

from socket import *
serverPort = 12000 # 同樣使用12000端口監聽
serverSocket = socket(AF_INET, SOCK_DGRAM)

serverSocket.bind(('', serverPort))
print('The server is ready to recrive')

while True:
        message, clientAddress = serverSocket.recvfrom(2048)
        modifiedMessage = message.decode().upper()
        serverSocket.sendto(modifiedMessage.encode(), clientAddress)


啓動服務

首先啓動server端服務

啓動成功
啓動效果 可以使用linux命令 "netstat -tlnup"發現確實已經監聽了對應的端口號
啓動效果

啓動client端服務

成功響應
我們可以看見我們隨意輸入了四個字符“agss”服務器給我們顯示了大寫的字符回來

抓包看看內容確實是服務器返回的

我們通信的過程中可以打開“Wireshark”進行抓包
發出的數據
這就是我們發出的數據包
限免看看服務器返回的數據包
成功通信
我們完成了一次成功的通信!!!

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