• udp套接字收发数据


    udp发送数据注意点:

     s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

    1、初始化socket 两个参数   第一个 ip/1v4协议      第二个是tcp还是udp协议  

    socket.SOCK_DGRAM----udp协议          socket.SOCK_STREAM-----tcp协议

    2发送的数据为bytes类型,记得转型, ip+端口是tuple类型

    udp_socket.sendto(send_data.encode("utf-8"), ("192.168.20.143", 8080))

    循环发送udp数据信息:

    def udpSend():
        # 创建套接字
        udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        # 绑定端口,发送数据时会从绑定的端口发送,不会再生成随机端口
        udp_socket.bind(("", 8080))
        # 使用套接字进行数据传输
        while True:
            send_data = input("请输入传输的数据")
        # (内容,地址>元组)
            udp_socket.sendto(send_data.encode("utf-8"), ("ip地址", 8080))
            if send_data == "exit":
                break
        # 关闭套接字
        udp_socket.close()

    总结:

    步骤和之前调用模块差不多:1、初始化udp/tcp套接字  2、使用套接字收发数据  3、关闭套接字

    udp接收数据:

    def udpGet():
        """
        1、创建套接字
        2、绑定一个本地信息
        3、接收数据
        4、打印接收数据
        5、关闭套接字
        :return:None
        """
        s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
        loacl_addr = ("",7878)
        s.bind(loacl_addr)
        while True:
            recv_data = s.recvfrom(1024)
            print(recv_data,tuple(recv_data))
            if recv_data[0].decode('gbk') == "exit":
                break
        s.close()

    接收的数据为元祖类型  其中接收的data为bytes类型,需要decode('gbk')进行转码

    
    
    



  • 相关阅读:
    打印水仙花数
    打印从1到k之间的所有素数
    Fibonacci数列小程序
    Fibonacci数
    水仙花数
    猴子吃桃问题
    5个数求最值—南阳acm
    三个数从小到大排序—南阳acm
    南阳acm奇偶数分离
    find the safest road--hdu1596
  • 原文地址:https://www.cnblogs.com/XXQQ123/p/11685168.html
Copyright © 2020-2023  润新知