• 网络编程(socket)套接字之基于udp的套接字


    基于udp的网络编程

      特点:不需要提前建立链接,每次收发都需要获取ip和端口

         又称数据报协议,一次发送对应一次接收,不会产生粘包问题

           不可靠传输,发送数据不需要回复ACK确认信息

           没有链接,服务端或者客户端的启动不需要先后顺序

      

    udp服务端的套接字

    1 ss = socket()   #创建一个服务器的套接字
    2 ss.bind()       #绑定服务器套接字
    3 inf_loop:       #服务器无限循环
    4     cs = ss.recvfrom()/ss.sendto() # 对话(接收与发送)
    5 ss.close()        

    udp客户端的套接字

    cs = socket()   # 创建客户套接字
    comm_loop:      # 通讯循环
        cs.sendto()/cs.recvfrom()   # 对话(发送/接收)
    cs.close()                      # 关闭客户套接字

    示例代码

    基于UDP协议通信的套接字

    import socket
    
    server = socket.socket(socket.AF_INET,socket.SOXK_DGRAM)
    
    server.bind(('127.0.0.1',8080))
    
    while True:
        client_data,client_addr=server.recvfrom(1024)
        server.sendto(client_data.upper(),client_addr)
    服务端
    import socket
    
    client = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    
    while True:
        msg = input('    : ' ).strip()
        client.sendto(msg.encode('utf-8'),('127.0.0.1',8080))
        res,server_addr =  client.recvfrom(1024)
    客户端

    *********************

    常用端口:   web端口 80

          dns端口 53

          dhcp端口 67

      

  • 相关阅读:
    BOM
    CSS 定位与浮动
    轮播
    跨域
    Flex-弹性布局
    vue.js开发环境搭建以及创建一个vue实例
    js闭包
    git的一些基本命令
    不定宽块状元素居中方法
    git中常用命令小结
  • 原文地址:https://www.cnblogs.com/guodengjian/p/8919590.html
Copyright © 2020-2023  润新知