zoukankan      html  css  js  c++  java
  • python-网络-udp

    python-网络-udp

    标签(空格分隔): python

    开发环境:windows Pycharm+python3.*
    工具:网络调试助手

    UDP[client]-发送数据

    from socket import *
    
    # 1. 创建udp套接字
    socket = socket(AF_INET, SOCK_DGRAM)
    
    # 2. 准备接收方的地址
    # '192.168.1.103'表示目的ip地址
    # 8080表示目的端口
    addr = ('192.168.1.103', 8080)  # 注意 是元组,ip是字符串,端口是数字(int)
    
    # 3. 从键盘获取数据
    send_data = input("请输入要发送的数据:")
    
    # 4. 发送数据到指定的电脑上的指定程序中
    socket.sendto(send_data.encode('gbk'), addr)
    
    # 5. 关闭套接字
    socket.close()
    

    注意点

    • addr 是个元组(tuple) ip是sring | port是int
    • 网络调试助手是gbk编码格式 注意中文的转换 string.encode('编码') | string.decode('解码')

    UDP[server]-接收数据

    from socket import *
    
    s =socket(AF_INET, SOCK_DGRAM)
    
    s.bind(('', 9090)) # 绑定ip,port ip不用写
    
    content, addr = s.recvfrom(1024) # 接收数据 最大 1024
    
    print('recvfrom : %s'%content.decode('gbk'))
    print('addr: %s:%d'%addr)
    
    s.close()
    

    注意点

    • bind 参数是元组(tuple) ip,port
    • s.recvfrom(1024) 的返回值也是元组,所以可以直接拆包:返回的格式: ('xxxx', (ip,port))
    • 中文字符解码问题 decode('gbk') # 根据真实环境配置
  • 相关阅读:
    MySQL安装图解
    程序员感触
    一个人的生活
    开始懂了
    limit 检索记录行
    Ajax的完整兼容各种浏览器版本代码
    java.lang.UnsupportedClassVersionError: Unsupported major.minor version 49.0的错误 [转]
    通信协议
    SDK
    毕业三个多月的感悟
  • 原文地址:https://www.cnblogs.com/yanweifeng/p/10049314.html
Copyright © 2011-2022 走看看