• udp编程


    0丶逻辑

    1丶创建套接字
    2丶绑定端口(非必须)
    3丶发送和接收数据
    4丶关闭套接字
    

    1丶创建udp.py文件

    import  socket
    class UdpSocket(object):
        def __init__(self,ip,port):
            self.ip = ip
            self.port = port
    
        def create_socket(self):
            # 创建套接字
            self.udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    
            # 绑定本地ip和端口,元祖类型
            self.udp_socket.bind((self.ip,self.port))
    
        def send_data(self):
            self.create_socket()
            while True:
                senddata = input("请输入要发送的信息:")
                if senddata == "exit":
                    break
                # 发送的数据需要encode编码成二进制,同时指定接收方的ip和端口
                self.udp_socket.sendto(senddata.encode("utf-8"), ("192.168.1.50", 6666))
    
            #关闭套接字
            self.udp_socket.close()
    
        def recv_data(self):
            self.create_socket()
            while True:
    
                # recv_data = self.udp_socket.recv(1024)  #只接收用户发过来的数据
                recv_data,recv_user_info = self.udp_socket.recvfrom(1024)  #接收的数据包含用户ip和端口信息以及数据
    
                #打印接收的数据,注意编码,二进制转化成十进制decode
                print("客户端%s:%s" %(str(recv_user_info),recv_data.decode("gbk"))) 
                # print(recv_data)
            self.udp_socket.close()
    

    2丶创建main.py文件

    from udp import *
    
    def main():
       udpsocket = UdpSocket("",7890)
       # udpsocket.send_data()
       udpsocket.recv_data()
    if __name__ == '__main__':
        main()
    
  • 相关阅读:
    MDL中捕获到损坏的页表页
    跟踪MmSt分页池使用情况
    了解NTFS压缩
    如何跟踪高CPU在用户模式应用程序-现场调试!
    如何与转储文件建立丰富多彩的关系
    Kernel Stack Overflows
    非分页池的消耗
    MBR反汇编
    LPC (Local procedure calls)(二)内核调试扩展
    LPC (Local procedure calls) (一)数据结构
  • 原文地址:https://www.cnblogs.com/lovelinux199075/p/9561975.html
Copyright © 2020-2023  润新知