精华内容
下载资源
问答
  • java课程设计 局域网广播系统 内含源代码 打包发布
  • Python发送局域网广播

    2021-01-12 21:47:35
    利用Python的broadcast机制发送局域网广播 # -*- coding: utf-8 -*- import socket def send(operation): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_...

    原文链接:https://blog.wanvale.com/archives/221/

    利用Python的broadcast机制发送局域网广播

    # -*- coding: utf-8 -*-
    import socket
    
    
    def send(operation):
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
        port = 9999
        network = '<broadcast>'
        # 发送数据:
        s.sendto(operation.encode("utf-8"), (network, port))
    
        s.close()
    
    
    send("open")
    
    展开全文
  • 在调试局域网内通过UDP协议获取其他设备IP地址时,服务器使用UDP 广播后, 客户端设备无响应. 先研究一下正常情况下, UDP广播通信方法. 参考了网络上一写资料. 代码整理如下: 服务器端向: 255.255.255.255:6023发送...

    在调试局域网内通过UDP协议获取其他设备IP地址时,服务器使用UDP 广播后, 客户端设备无响应. 先研究一下正常情况下, UDP广播通信方法. 参考了网络上一写资料. 代码整理如下:

    服务器端向: 255.255.255.255:6023发送UDP广播:

    serverUDP.c


    #include <sys/types.h>
    #include <sys/socket.h>
    #include <netinet/in.h>
    #include <arpa/inet.h>
    #include <unistd.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <errno.h>
    #include <string.h>

    #define PORT 6023

    int main()  
    {  
        setvbuf(stdout, NULL, _IONBF, 0);   
        fflush(stdout);   
     
        int sock = -1;  
        if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) == -1)   
        {     
            printf("socket error\n");   
            return -1;  
        }     
          
        const int opt = 1;  
        //设置该套接字为广播类型,  
        int nb = 0;  
        nb = setsockopt(sock, SOL_SOCKET, SO_BROADCAST, (char *)&opt, sizeof(opt));  
        if(nb == -1)  
        {  
            printf("set socket error...\n");  
            return -1;  
        }  
     
        struct sockaddr_in addrto;  
        bzero(&addrto, sizeof(struct sockaddr_in));  
        addrto.sin_family=AF_INET;  
        addrto.sin_addr.s_addr=htonl(INADDR_BROADCAST);  
        addrto.sin_port=htons(PORT);  
        int nlen=sizeof(addrto);  
     
        while(1)  
        {  
            sleep(1);  
            //从广播地址发送消息  
            char smsg[] = {"abcdef"};  
            int ret=sendto(sock, smsg, strlen(smsg), 0, (struct sockaddr*)&addrto, nlen);  
            if(ret<0)  
            {  
                printf("send error....\n");  
            }  
            else  
            {         
                printf("ok \n");    
            }  
        }  
     
        return 0;  
    }  



    客户端接收广播消息.

    clientUDP.c


    #include <sys/types.h>
    #include <sys/socket.h>
    #include <netinet/in.h>
    #include <arpa/inet.h>
    #include <errno.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <unistd.h>
     
    #define PORT 6023

    int main()  
    {  
        setvbuf(stdout, NULL, _IONBF, 0);   
        fflush(stdout);   
     
        // 绑定地址  
        struct sockaddr_in addrto;  
        bzero(&addrto, sizeof(struct sockaddr_in));  
        addrto.sin_family = AF_INET;  
        addrto.sin_addr.s_addr = htonl(INADDR_ANY);  
        addrto.sin_port = htons(PORT);  
          
        // 广播地址  
        struct sockaddr_in from;  
        bzero(&from, sizeof(struct sockaddr_in));  
        from.sin_family = AF_INET;  
        from.sin_addr.s_addr = htonl(INADDR_ANY);  
        from.sin_port = htons(PORT);  
          
        int sock = -1;  
        if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) == -1)   
        {     
            printf("socket error\n");   
            return -1;  
        }     
     
        const int opt = 1;  
        //设置该套接字为广播类型,  
        int nb = 0;  
        nb = setsockopt(sock, SOL_SOCKET, SO_BROADCAST, (char *)&opt, sizeof(opt));  
        if(nb == -1)  
        {  
            printf("set socket error...\n");  
            return -1;  
        }  
     
        if(bind(sock,(struct sockaddr *)&(addrto), sizeof(struct sockaddr_in)) == -1)   
        {     
            printf("bind error...\n");  
            return -1;  
        }  
     
        int len = sizeof(struct sockaddr_in);  
        char smsg[100] = {0};  
     
        while(1)  
        {  
            //从广播地址接受消息  
            int ret=recvfrom(sock, smsg, 100, 0, (struct sockaddr*)&from,(socklen_t*)&len);  
            if(ret<=0)  
            {  
                printf("read error....\n");  
            }  
            else  
            {         
                printf("%s\t", smsg);     
            }  
     
            sleep(1);  
        }  
     
        return 0;  


    Makefile:

     all: server client
     server:
           gcc serverUDP.c -o serverUDP
    client:
           gcc clientUDP.c -o clientUDP
    clean:
          rm serverUDP clientUDP


    如局域网内有A设备, IP为192.168.1.100,  B设备, IP为192.168.1.101.

    在A设备上运行 ./clientUDP &

    在B设备上运行 ./serverUDP &

    运行结果:

    A设备上一直打印:  abcdef

    B设备上一直打印: ok.

    展开全文
  • 使用多播DNS在本地网络上发布服务或发现现有服务。 安装: npm install bonjour 使用方法: 局域网A主机: import bonjour from 'bonjour' //3000端口开启name = my-is-hostA的服务 const bonjourServer = bonjo.....

    bonjour

    纯JavaScript中的Bonjour / Zeroconf协议实现。使用多播DNS在本地网络上发布服务或发现现有服务。

    安装:

    npm install bonjour

    使用方法:

    局域网A主机:

    import bonjour from 'bonjour'
    //3000端口开启name = my-is-hostA的服务
    const bonjourServer = bonjour()
    bonjourServer.publish({ name: 'my-is-hostA', type: 'http', port: 3000 })
    

    局域网B主机:

    const bonjourClient = require('bonjour')()
    //查找所有的type=http的服务
    bonjourClient.find({ type: 'http' }, function (service) {
       //获取服务名为my-is-hostA的ip地址
      if (service.name === 'my-is-hostA') {
        console.log("主机A的IP:" + service.referer.address)
      }
    })
    
    展开全文
  • 在很多应用场景中,我们往往需要在局域网发布组播节目,这样做的好处如下: 1. 节省骨干网带宽资源 Internet上产生的许多新的应用,特别是高带宽的多媒体应用,带来了带宽的急剧消耗和网络拥挤问题。组播是一...

    在很多应用场景中,我们往往需要在局域网内发布组播节目,这样做的好处如下:

    1.      节省骨干网带宽资源

    Internet上产生的许多新的应用,特别是高带宽的多媒体应用,带来了带宽的急剧消耗和网络拥挤问题。组播是一种允许一个或多个发送者(组播源)发送单一的数据包到多个接收者(一次的,同时的)的网络技术。组播可以极大地节省网络带宽,因为无论有多少个目标地址,在整个网络的任何一条链路上只传送单一的数据包。所以说组播技术的核心就是针对如何节约网络资源的前提下保证服务质量。

    2.      降低服务器端的压力

    组播的技术实现,是通过各级交换机进行端口间数据复制,终端用户并不需要访问服务器端,因此即使面向海量终端用户,服务器端也只面向网络输出一份数据流。

    3.      避免广播风暴

    组播技术不同于广播技术,它能够实现将数据有选择性地复制给需要的主机,而不是发送给所有主机,这样可以避免广播风暴的发生。

    应用场景:

    1.      具有大量终端用户的局域网或城域网IPTV应用;

    2.      大型商场中的多媒体信息发布应用;

    3.      大型企事业单位内部的网络电视与活动直播应用;

    4.      广电网络中的DVB互联网电视应用;

    5.      大型高校面向上万师生的多媒体教学应用;

    6.      大型酒店的网络电视应用;

    下面,我来结合自己多年的经验,介绍一下如何实现这种局域网组播应用。

    首先,我们要准备好组播发布工具。

    从节省成本考虑,我建议大家采用“主机+软件”的方式来实现。

    主机:可以选用高配置的通用PC机或者中低端服务器;

    软件:这是最核心的部分,主要的功能实现都是靠软件来完成的。当前最专业、最好用的软件主要有如下两款:

    1) 直播大师(LiveMaster


    LiveMaster这款软件是由北京顺景科技有限公司开发的一款专业直播软件,它能够支持当前最主流的H.264和H.265高效视频编码,这样能够在直播时最大程度减少对带宽资源的占用。
    用它做1080P的高清直播,采用H.264编码技术只需占用3~4Mb/s带宽;采用H.265编码技术只需占用1.5~2Mb/s带宽。
    它具备对同一路信号源进行多格式并行编码处理能力。

    它具备对同一路信号源进行多格式并行编码处理能力。
     
    它既支持IPv4网络协议,又支持IPv6网络协议。
     

    它支持对编码的多个节目流同时进行组播输出。
     
    它支持DVB广播系统中的CSA通用加扰算法,可用于对组播节目加密。
     
    除了强大的UDP组播发布功能外,它还具有强大的字幕插播、台标插播功能,字幕插播功能经常被用于实时的文字翻译或者滚动字幕广告,台标插播功能可用于对节目版权进行加密或者品牌形象宣传。
     
                            滚动字幕效果

    由以上特性可以看出,这款软件是目前该领域内功能最为强大的视频直播专用工具。并且由于该软件采用C++语言编写而成,具有极强的稳定性,并且对硬件资源占用极低。

    2) FFMPEG
    Ffmpeg是一款功能强大的命令行视频处理工具,它也能给实现基本的组播发布功能,但是由于它是一款命令行工具软件,语法及其晦涩难懂,适合开发人员研究使用,普通用户很难掌握。
     
                      这是ffmpeg的命令行界面。
     
                      这是ffmpeg发布UDP组播的命令行脚本
    对于更复杂功能的命令行实现,我目前还没有研究明白,有感兴趣的可以去查看官方的英文手册。
    其次,组播节目的接收回放。
    前面我们通过LiveMaster(直播大师)或者FFMPEG将节目以组播方式发布以后,在用户收看端需要将节目接收下来并且回放。
    根据不同的应用场景,节目接收方式主要有两种:
    第一种:通过电脑主机来接收和回放
    这种方式适合个人用户收看的场合。
    所需的软硬件:
    硬件设备:PC机一台
    软件系统:VLC视频播放器
    操作方式:在电脑上安装好VLC视频播放器,然后依次点击“媒体”->“打开网络串流”功能菜单。

    在弹出的窗口中输入组播节目的播放地址,如下图:
     
    点击“播放”,这样就能将组播节目解码和播放出来了。
     
    第二种:通过大屏幕或者电视墙来显示画面
    这种方式适合商场、酒店、会议室、大型公共场所等具有大型显示设备的场合。
    所需的设备:
    在这种场景下,使用电脑终端显然极不方便(操作复杂,稳定性差,成本高),因此,这就需要一台性价比高、稳定性强的组播专用接收设备来实现。北京顺景科技为此开发了一款支持4K视频解码服务器,由于这款设备采用嵌入式低功耗设计,整机的运行功率只有6W,因此稳定性非常强,带有HDMI 2.0接口,可以输出高达4096 x 2160分辨率的4K视频。该设备的连接示意图如下:

    展开全文
  • 局域网

    千次阅读 2010-03-10 14:49:00
    在单位局域网中,相互之间访问各自计算机中的共享资源是常有的事情,但我们在访问对方计算机时,却经常遇到系统弹出“没有权限使用网络资源,请与这台计算机的管理员联系”这样的错误提示,或者要求输入用户名和密码...
  • 计算机局域网

    2020-11-05 20:17:21
    文章目录网卡局域网的网络通信硬件传输媒体局域网通信设备总线形拓扑结构CSMA/CD环形拓扑结构FDDI异步传输模式 ATM 网卡 局域网的网络通信硬件 局域网的网络通信硬件,主要包括网卡、传输媒体和局域网通信设备。 ...
  • 问题描述: 在XP或者Win7上面没有办法发送UDP广播报,发送的代码如下所示,应该没有问题。 1 /// <summary> 2 /// 发送消息 3 /// </summary> 4 /// <param name="strDataToSend"...
  • 在文章中,作者使用VLC播放器将一个视频转化成视频流,以UDP的格式将该视频流发布出去,这里有一个比较关键的点是,需要填写串流的目标位置,一个IP地址, 原先我不理解这个串流的过程,以为是只要写本机的号码就...
  • 通过对网关设备、用户端的分组抓取和局域网实验对频繁掉线的原因进行了深入分析,其主要原因是学生对局域网防护的认识片面,导致学生向局域网发布大量的ARP response分组,造成局域网广播风暴;其次是部分学生使用...
  • vlan虚拟局域网

    2020-05-13 09:28:57
    解决:使用虚拟局域网VLAN隔离技术,将一个局域网分割成多个虚拟的局域网,从而隔离广播风暴。 *HUB(单总线): 所有端口都在一个冲突域和一个广播域中; Switch(多总线):一个端口对应一个冲突域,所有端口都在...
  • 局域网技术(一)

    千次阅读 2015-08-05 12:16:30
    一 ,局域网组网的基本概念  局域网(LAN)是指分布在相对较小距离范围内的计算机网络。  (1)局域网标准:IEEE802标准  IEEE802标准包括局域网参考模型与各层协议,其所描述的局域网参考模型与OSI参考模型的关系。 ...
  • 三种自由发布局域网消息的技巧

    千次阅读 2006-07-08 10:42:00
    三种自由发布局域网消息的技巧很多人也许都有过这样的经历:正在机房使用电脑时,屏幕上突然弹出一个消息窗口,把你吓了一跳!这些消息窗口通常都是机房或公司的网管发送过来的,目的大多是向使用者公布一些重要事项...
  • 掌控局域网监控软件

    2015-09-01 14:35:36
    1.自动上线功能,开启控制端后,网内电脑自动上线,无需像其它局域网软件那样需要手工输入对方IP和密码,是国内操作最简单方便的局域网控制软件。 2.访问远程电脑桌面:同步查看远程电脑的屏幕,能使用本地鼠标键盘...
  • c# 屏幕广播

    2018-05-10 13:18:26
    本程序根据本站power2008man发布局域网屏幕广播C#上添加了开始和关闭广播,组播组自选等功能.源码地址https://download.csdn.net/download/power2008man/7857657
  • 虚拟局域网(VLAN)

    千次阅读 2018-08-11 13:56:00
    虚拟局域网(VLAN, Virtual Local Area Network)其技术标准是在1999年6月发布的IEEE 802.1q标准,而最早的VLAN技术是在1996年就由Cisco提出了。VLAN在企业网络中应用非常广泛,它属于数据链路层...
  • 局域网二层技术

    千次阅读 2018-08-13 10:28:29
    本文首次发布于 Mlin Blog、简书、CSDN,作者 @木林(Mlin) ,转载请保留原文链接。 一、ARP 1 Proxy ARP 1.1 路由式Proxy ARP 1.2 VLAN内ARP代理 1.3 VLAN间ARP代理 2 免费ARP 二、MAC表 1 MAC地址表分类 2 ...
  • 网络协议学习之局域网监听技术

    千次阅读 2015-07-28 18:14:45
    ARP即地址解析协议,用于处理主机之间获取MAC地址与IP...于是在目的B的MAC未知的情况下,A主机数据链路层会向局域网广播一个ARP广播广播的内容类似于”请问ip地址为aaaa的主机是谁, 请告诉我(IP bbbb,MAC bbbbb
  • 微信小程序局域网内UDP通信

    千次阅读 2019-07-14 14:33:38
    微信小程序里多了个关于UDP的API,那就加上mDNS,写个Android APP和小程序局域网通信的demo啰
  • 海天屏幕广播软件(破解版) 可以在局域网发布屏幕广播,用于网络演示、授课。
  • 局域网即时通信软件

    千次阅读 2013-09-10 22:00:12
    巴别塔BABEL,是由点宽公司推出的实时协作平台软件,它拥有即时通讯、平台应用、实时企业、门户集成、天气预报、邮件收发、文件传递、实时投票、发布通告、发布广播、网络白板、工作安排、任务公示、个人事宜安排、...
  • 局域网通讯,广播、单播文字信息非常方便; 查看被监控电脑系统信息,远程对其注册表进行锁定或解锁,直接操作远程电脑开机、关机、禁止关机等; 可上传资料至服务端。但基于安全等考虑,不能通过本软件下载任何...
  • 局域网实时通讯工具

    千次阅读 2013-06-30 21:03:41
    客户机程序在网上发布供用户使用而服务器程序则只供服务器使用,一般不公开。采用这种模式可以方便管理员对所有用户进行管理,但它必须单独提供一台计算机作为服务器。而对于在局域网内使用的聊天软件,由于计算机的...
  • 局域网内组播的技术实现

    千次阅读 2018-01-31 15:26:18
    1. 具有大量终端用户的局域网或城域网IPTV应用; 2. 大型商场中的多媒体信息发布应用; 3. 大型企事业单位内部的网络电视与活动直播应用; 4. 广电网络中的DVB互联网电视应用; 5. 大型高校面向...
  • 局域网共享与安全

    2007-01-16 20:28:00
    局域网内的邻居网络的基本作用是实现资源共享,而作为最小网络分布结构的局域网(Local Area Network,LAN)更是把这个概念淋漓尽致的发展起来,那么,局域网内的共享是怎么实现的呢?1. 局域网实现原理在了解共享...
  • 802.11无线局域网

    千次阅读 2017-01-15 15:46:33
    AP每秒钟约10次通过Beacon帧广播SSID 客户端连接到无线网络后也会宣告SSID ╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋ ┃ ┃Infrastructure ┃ ┃ 至少包含一个AP和一个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,710
精华内容 4,684
关键字:

局域网发布广播