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()


发布了36 篇原创文章 · 获赞 12 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/veray/article/details/100023690