NO.4名词查寻器******完结

为解决字幕组工作中名词更新的繁琐问题,开发者采用Python进行初步尝试,并最终选择Android平台完成了应用开发。该应用可通过本地存储实现名词的快速查询与更新。

R:字幕组中我们的校对免免一直更新名词很麻烦,我也想提高效率,把组员从这种繁琐的劳动中解放出来。


G:1.exe软件,最好还有我用的版本(linux)

      2.查寻和增添名词的功能


P:

——2016.9.6

       先不写gui,把程序主体做出来。我计划用python,或者c,先在命令行跑起来(可执行文件)

        PYTHON下:可以实现简单的查寻功能了,但是需要用户自己输入,比较麻烦。我要用python读取txt,自动生成content。


——2016.9.7

       昨天看了老久都没找出问题,今天偶然写另一博文居然突然发现了问题:

 #!/usr/bin/python

 忘记加" ! " 号了!!!!

 #!是一体,中间不能有空格,!和/ 可以有。


——2016.9.10

       进展不大,主要是手头还有别的事要忙。说来惭愧,连源代码目前都没搞定,文件的读取函数也不会。《python核心编程》到手了,看了gui方面的部分,感觉以后gui问题能小一点了。继续加油,总有能搞定的时候。



——2016.9.26

       python下我学习很慢,因为主要要学习basemap的使用,反而python真正的东西学的很少。我看了看我的要求,突然发现我可以用java写一个出来,反正手机大家都有,这样就不用考虑平台问题了。都写吧!!!哈哈,以后还能2.0、3.0啥的。想想还有点小激动。。。。


--2017.4.8

      最终用 Android 开发完成,虽然界面差强人意,但是效果还将就(我是这么觉得的,字幕组的大家也都用上了).简单的通过本地 sharedpreferenc 存储,遍历 key 找到对应的 value.还有个简单的动画效果.开发早已经结束,忘记补上了.

### IGMP协议详解 IGMP(Internet Group Management Protocol)是用于在IP网络中管理组播组成员关系的网络层协议[^1]。它允许主机和邻近的路由之间建立和维护组播组的成员关系,从而实现高效的组播通信。 #### 协议功能 IGMP的主要功能包括: 1. **组播组成员发现**:通过IGMP协议,路由可以了解每个接口连接的网段上是否存在特定组播组的接收者[^3]。 2. **生成IGMP组表项和路由表项**:IGMP协议与PIM(Protocol Independent Multicast)协议结合使用,共同生成组播路由表项,以确保组播数据能够正确转发到目标网络[^2]。 3. **动态加入或离开组播组**:主机可以通过发送IGMP消息动态地加入或离开某个组播组,从而实现灵活的组播通信[^1]。 #### 报文类型 IGMP协议定义了多种类型的报文,用于实现其功能。以下是IGMPv1版本中的主要报文类型[^4]: - **成员关系查询报文**:由路由发送,用于询问网络中的主机是否属于某个组播组。如果字段值为0(0.0.0.0),则表示泛查询所有组播组。 - **成员关系报告报文**:由主机发送,用于向路由报告自己已加入某个组播组。该报文中包含具体的组地址。 #### 协议版本 IGMP协议目前有三个主要版本: 1. **IGMPv1**:提供了基本的组播组成员管理功能,支持简单的查询和报告机制[^4]。 2. **IGMPv2**:在IGMPv1的基础上增加了离开组播组的功能,并优化了查询选举机制[^1]。 3. **IGMPv3**:进一步扩展了IGMPv2的功能,支持源过滤,允许主机明确指定希望接收或拒绝来自哪些源的组播流量。 #### 应用场景 IGMP协议通常应用于以下场景: 1. **最后一跳路由与主机之间的通信**:IGMP协议负责管理组播组成员关系,确保组播数据能够正确地从源端传输到接收端[^3]。 2. **二层网络环境**:如果组播源和组成员之间仅为二层网络,则不需要显式配置IGMP协议,因为二层交换机会自动处理组播流量。 ```python # 示例:IGMP协议的基本交互逻辑模拟 class IGMP: def __init__(self): self.groups = {} def query_group(self, group_address): if group_address in self.groups: print(f"Hosts in group {group_address} are present.") else: print(f"No hosts in group {group_address}.") def join_group(self, host, group_address): if group_address not in self.groups: self.groups[group_address] = [] self.groups[group_address].append(host) print(f"Host {host} joined group {group_address}.") def leave_group(self, host, group_address): if group_address in self.groups and host in self.groups[group_address]: self.groups[group_address].remove(host) print(f"Host {host} left group {group_address}.") # 测试代码 igmp = IGMP() igmp.join_group("HostA", "224.1.1.1") igmp.query_group("224.1.1.1") igmp.leave_group("HostA", "224.1.1.1") ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值