Python socket 广播

server

import socket

server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

server.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)

connects = []

server.bind(('', 9090))

while True:
    back_msg, addr = server.recvfrom(1024)

    if addr not in connects:
        connects.append(addr)

    print(back_msg.decode("utf-8"), addr, len(connects))

    server.sendto("收到".encode('utf-8'), addr)

client

import socket
import time

client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

client.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)

while True:
    client.sendto("我是设备1号".encode('utf-8'), ('<broadcast>', 9090))

    # data, addr = client.recvfrom(1024)
    # print("接收到数据{}:{}".format(addr,data.decode('utf-8')) )

    time.sleep(2)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 大纲 一.Socket简介 二.BSD Socket编程准备 1.地址 2.端口 3.网络字节序 4.半相关与全相...
    VD2012阅读 2,500评论 0 5
  • 网络编程 一.楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运...
    go以恒阅读 2,172评论 0 6
  • 大纲 一.Socket简介 二.BSD Socket编程准备 1.地址 2.端口 3.网络字节序 4.半相关与全相...
    y角阅读 2,603评论 2 11
  • 一、本次目标 编写最简单的1:1的server:client,感受socket通信编程; 修改client为多线程...
    叫我宫城大人阅读 883评论 1 2
  • Sockets 和 socket API被用于在网络上发送消息。它们提供了进程间通信(IPC)的一种形式。而网络既...
    花括弧阅读 368评论 0 0