1. 程式人生 > 其它 >socket實現UDP通訊(python)

socket實現UDP通訊(python)

UDP客戶端

from socket import *

# 指定伺服器IP及埠號
server_name = '127.0.0.1'
server_port = 12000

# 建立UDP客戶端, AF_INET表示底層網路使用IPv4,SOCK_DGRAM表示使用UDP協議
client_socket = socket(AF_INET, SOCK_DGRAM)
message = input('Input lowercase sentense:')
while message != 'end':
    # 將文字轉為位元組串,傳送給伺服器
    client_socket.sendto(message.encode(), (server_name, server_port))
    # 接受伺服器返回的資訊
    modified_message, server_address = client_socket.recvfrom(2048)
    # 將返回報文從位元組轉為字串
    print(server_address, ' say: ', modified_message.decode())
    message = input('Input lowercase sentense:')
client_socket.close()

UDP 服務端

from socket import *
# 指定UDP伺服器開放的埠
server_port = 12000
# 使用IPv4及UDP
server_socket = socket(AF_INET, SOCK_DGRAM)
# 繫結埠號
server_socket.bind(('127.0.0.1', server_port))
print('The server is ready to receive')

while(True):
    # 接收客戶端傳送的報文
    message, client_address = server_socket.recvfrom(2048)
    # 報文由位元組轉為字串並轉大寫
    modified_message = message.decode().upper()
    # 將修改的資訊轉為位元組,傳送給客戶端
    server_socket.sendto(modified_message.encode(), client_address)