Python实现广播数据

发布时间:2019-09-16 07:13:59编辑:auto阅读(1737)

    BoardCastSer.Py:

    #!/usr/bin/python
    # -*- coding: utf-8 -*-

    import socket,traceback

    host = ''
    port = 12345

    s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
    s.setsockopt(socket.SOL_SOCKET,socket.SO_BROADCAST,1)
    s.bind((host,port))
    print "Listen on the port 12345......"
    while True:
        try:
            sock,addr = s.recvfrom(8192)
            print "Receive data from:",addr
            s.sendto("I'm here BOSS!",addr)
        except (KeyboardInterrupt,SystemExit):
            raise
        except:
            traceback.print_exc()
        

    BoardCastCli.Py:

    #!/usr/bin/python
    # -*- coding: utf-8 -*-

    import socket,sys
    desc = ('<broadcast>',12345)
    s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    s.setsockopt(socket.SOL_SOCKET,socket.SO_BROADCAST,1)
    s.sendto("Hello",desc)
    print "Looking for replies........"
    while True:
        sock,addr = s.recvfrom(2048)
        if not len(sock):
            break
        print "Received from %s:%s"%(sock,addr)

      

关键字