zoukankan      html  css  js  c++  java
  • 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()
    
  • 相关阅读:
    linux下的防火墙iptables
    oracle 学习
    关于测试计划制定
    Android APP性能测试笔记(一)
    adb报错问题解决方法
    Android studio安装与配置
    领导能力与领导力
    ADB安装及使用
    Advanced-REST-client
    性能测试体系-测试分析及调优
  • 原文地址:https://www.cnblogs.com/lovelinux199075/p/9561975.html
Copyright © 2011-2022 走看看