编程论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

界面工厂编程视频教程广告联系qq1031180668广告位
查看: 25|回复: 0

[python] python udp广播

[复制链接]
  • ta_mind

    5 天前
  • classn_01: 68 classn_02

    [LV.6]常住居民II

    884

    主题

    1604

    帖子

    3106

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    3106

    最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

    发表于 2018-6-10 23:56:04 | 显示全部楼层 |阅读模式
    server:
    [Python] syntaxhighlighter_viewsource syntaxhighlighter_copycode
    from socket import *
    
    dest=('<broadcast>',7788)
    
    #255.255.255.255
    #创建套接字
    
    s=socket(AF_INET,SOCK_DGRAM)
    
    
    #修改套接字设置 让它能够发送广播
    
    s.setsockopt(SOL_SOCKET,SO_BROADCAST,1)
    sendtoData= bytes(input("输入要广播的消息:"),encoding="utf-8")
    
    #发送广播
    s.sendto(sendtoData ,dest)
    
    
    print("等待对方回复")
    
    for i in range(2):
        (buf,address)=s.recvfrom(2048)
        print("收到回复 %s:%s"%(buf.decode("utf-8"),buf))
    
    print("已经全部回复,over")
    s.close()
    


    client1:
    [AppleScript] syntaxhighlighter_viewsource syntaxhighlighter_copycode
    from socket import  *
    s=socket(AF_INET,SOCK_DGRAM)
    s.bind(("192.168.10.111",7788))
    while True:
        (buf,address) = s.recvfrom(2048)
        print("收到指令 %s: %s"%(address,buf.decode("utf-8")))
        sendtoData= bytes(input("请输入回复内容:"),encoding="utf-8")
        s.sendto(sendtoData,address)
        break
    
    s.close()
    

    client2:

    [Python] syntaxhighlighter_viewsource syntaxhighlighter_copycode
    from socket import  *
    s=socket(AF_INET,SOCK_DGRAM)
    s.bind(("192.168.11.111",7788))
    while True:
        (buf,address) = s.recvfrom(2048)
        print("收到指令 %s: %s"%(address,buf.decode("utf-8")))
        sendtoData= bytes(input("请输入回复内容:"),encoding="utf-8")
        s.sendto(sendtoData,address)
        break
    
    s.close()
    


    核心就是setsockopt 因为只有设置了setsockopt之后才能使用udp的广播功能。
    不积跬步,无以至千里
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    手机版|Archiver|小黑屋|sitemap|编程论坛 - 一个单纯的编程学习交流论坛 ( 豫ICP备15032706号 )

    GMT+8, 2018-6-19 16:39 , Processed in 0.109376 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表