avahi-daemon 不能正常工作问题求助

最近为 avahi-daemon 不稳定的问题一愁莫展!想了许多办法,分析了 avahi-daemon 的源码,均无果。在此向经历过的大师们求助。

我移植的是 avahi-0.6.31,平台是 RTL819x 的 Linux 平台。同时,我们还有一个 OpenWrt 平台。

在 RTL819x 的 Linux 平台上,用 wireshark 抓网络包,过滤条件为:"udp && udp.port == 5353 && ip.dst==224.0.0.251 && (eth.src == 00:7e:56:08:c6:3e)"

发现:

在执行 `avahi-daemon -D` 启动时,会发出 mDNS 包。(正常 )

在执行 `avahi-daemon -k` 结束 avahi-daemon 进程时,会发出一个 mDNS 包。(正常)

但问题是:一旦启动完,就不会有任务 mDNS 包发出来了。而正常 的情况下,会不定时地发出 mDNS 包,并还会响应其它的 mDNS 请求广播的。

我本想比对 openwrt 下 avahi-daemon 的工作流程,很是麻烦!各种坑~

我实在是被这个问题烦得不行了。有没有哪位大神遇到过,是什么问题?请指点一下。

时间: 2024-10-12 14:37:10

avahi-daemon 不能正常工作问题求助的相关文章

docker 源码分析 一(基于1.8.2版本),docker daemon启动过程;

最近在研究golang,也学习一下比较火的开源项目docker的源代码,国内比较出名的docker源码分析是孙宏亮大牛写的一系列文章,但是基于的docker版本有点老:索性自己就git 了一下最新的代码研读: docker是c/s的架构,分为docker client 和 docker daemon,client端发送命令,daemon端负责完成client发送过来的命令(如获取和存储镜像.管理容器等).两者之间可以通过TCP,HTTP和UNIX SOCKET来进行通信: docker的启动入口

Docker源码分析(四):Docker Daemon之NewDaemon实现

1. 前言 Docker的生态系统日趋完善,开发者群体也在日趋庞大,这让业界对Docker持续抱有极其乐观的态度.如今,对于广大开发者而言,使用Docker这项技术已然不是门槛,享受Docker带来的技术福利也不再是困难.然而,如何探寻Docker适应的场景,如何发展Docker周边的技术,以及如何弥合Docker新技术与传统物理机或VM技术的鸿沟,已经占据Docker研究者们的思考与实践. 本文为<Docker源码分析>第四篇——Docker Daemon之NewDaemon实现,力求帮助广

linux引导过程和服务控制

引导过程和服务控制 要求: ? 设置Linux系统每次开机后自动进入字符模式界面. 步骤: 编辑/etc/inittab文件,将默认运行级别修改为3.如图所示: ? 使用ntsysv工具同时调整2.3.4.5运行级别中的服务状态,关闭下列服务:anacron.atd.avahi-daemon.Bluetooth.cups.firstboot.hidd.hplip.ip6tables.iptables.isdn.mcstrans.mdmonitor.nfslock.pcscd.portmap.re

linux的引导过程和服务控制

引导过程和服务控制 要求: ? 设置Linux系统每次开机后自动进入字符模式界面. 步骤: 编辑/etc/inittab文件,将默认运行级别修改为3.如图所示: ? 使用ntsysv工具同时调整2.3.4.5运行级别中的服务状态,关闭下列服务:anacron.atd.avahi-daemon.Bluetooth.cups.firstboot.hidd.hplip.ip6tables.iptables.isdn.mcstrans.mdmonitor.nfslock.pcscd.portmap.re

Android操作系统11种传感器介绍

#define SENSOR_TYPE_ACCELEROMETER 1 //加速度 #define SENSOR_TYPE_MAGNETIC_FIELD 2 //磁力 #define SENSOR_TYPE_ORIENTATION 3 //方向 #define SENSOR_TYPE_GYROSCOPE 4 //陀螺仪 #define SENSOR_TYPE_LIGHT 5 //光线感应 #define SENSOR_TYPE_PRESSURE 6 //压力 #define SENSOR_TYP

Linux命令篇之cut命令和join命令

cut命令的用法 cut是一个选取命令,就是将一段数据经过分析,取出我们想要的.一般来说,选取信息通常是针对"行"来进行分析的,并不是整篇信息分析的 (1)其语法格式为:cut  [-bn] [file] 或 cut [-c] [file]  或  cut [-df] [file] 使用说明cut 命令从文件的每一行剪切字节.字符和字段并将这些字节.字符和字段写至标准输出.如果不指定 File 参数,cut 命令将读取标准输入.必须指定 -b.-c 或 -f 标志之一. 主要参数-b

Linux第三周

1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. [[email protected] ~]$ who | cut -d' ' -f1 | uniq root sihua 2.取出最后登录到当前系统的用户的相关信息. [[email protected] ~]$ w | tail -1 | awk '{print $1}' | id uid=500(sihua) gid=500(sihua) groups=500(sihua) 3.取出当前系统上被用户当

关于linux /etc/sysconfig/network中的NOZEROCONF=yes参数

今天从CSSD Fails to Join the Cluster After Private Network Recovered if avahi Daemon is up and Running (Doc ID 1501093.1)文章中看到了这个参数, 在该文章中,有如下的论述: Solution The solution is to shutdown and disable 3rd party zeroconf mDNS process, in this case, avahi-daem

2015第28周四

程序员可以被分为两种: 先确认前条件/不变式/终止条件/边界条件,然后写出正确的代码 先编写代码,然后通过各种用例/测试/调试对程序进行调整,最后得到似乎正确的代码 我个人保守估计前者开发效率至少是后者的 10 倍,因为前者不需要浪费大量时间在 编码-调试-编码这个极其耗时的循环上." 写代码之前先通过循环不变式(可以参考算法导论中各种运用不变式证明算法正确性的例子)确认和证明你的逻辑是没有问题,并用边界case确认一下具体处理的逻辑. 永远先想清楚,再去动手.>>(我是不会说自己每