Python網絡編程之UDP簡單示例

UDP 發送數據代碼:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
    功能:UDP發送數據
    環境:python3.7
    日期:2019/8/21 20:56
    作者:指尖魔法師
    版本:1.0
"""
import socket
DES_IP = "192.168.31.234"
DES_PORT = 8001


# UDP發數據
def send_msg():

    # 1.創建套接字
    udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

    # 2.發送數據
    while True:
        msg = input('Input Send-Data:')
        if msg == "exit":
            break
        udp_socket.sendto(msg.encode('utf-8'), (DES_IP, DES_PORT))

    # 3.關閉socket
    udp_socket.close()


def main():
    send_msg()


if __name__ == '__main__':
    main()


 

 

UDP 接收數據代碼:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
    功能:UDP接受數據簡單示例
    環境:python3.7
    日期:2019/8/21 20:56
    作者:指尖魔法師
    版本:1.0
"""
import socket
LOCAL_ADDR = ('', 8001)


# UDP接收數據
def recv_msg():
    # 1.創建套接字
    udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

    # 2.綁定本地相關信息,IP一般不用填寫,表示本機的任意一個IP
    udp_socket.bind(LOCAL_ADDR)

    while True:
        # 3.接受數據
        recv_data = udp_socket.recvfrom(1024)
        msg_data = recv_data[0].decode('gbk')
        msg_fromip = recv_data[1][0]
        msg_fromport = recv_data[1][1]
        # 4.打印數據
        print("來自[%s : %s]的消息:%s" % (msg_fromip, msg_fromport, msg_data))

    # 5.關閉socket
    udp_socket.close()


def main():
    recv_msg()


if __name__ == '__main__':
    main()


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