广播、多播和IGMP的一点记录】的更多相关文章

广播和多播:仅应用于UDP 广播分为: 1.受限的广播(255.255.255.255) 2.指向网络的广播(eg:A类网络 netid.255.255.255)主机号为全1的地址 3.指向子网的广播:主机号为全1且有特定子网号的地址 4.指向所有子网的广播:(eg: 128.1.255.255 而subnet mask为 255.255.255.0) IP多播提供两类服务: 1.向多个目的地址传送数据.如:向多个接收者分发邮件 2.客户对服务器的请求. 多播地址范围: 224.0.0.0~23…
广播,多播,IGMP:网际组管理协议 1.概述      IP有三种地址:单播地址, 广播地址,多播地址.      广播和多播仅应用于UDP.      每个以太网帧包含源主机和目的主机的以太网地址.通常每个以太网帧发往单个目的主机,目的地址指明单个接收接口,因而称为单播.      一个主机要向网上的所有其他主机发送帧,就是广播.      一个主机要向网上的多个主机发送帧,就是多播. 2.广播 受限的广播:受限的广播地址是255.255.255.255.该地址用于主机配置过程中IP数据报的…
关于 Stream ,Functional Interface 的一点记录 stream对于集合操作的便捷度提升: import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; public class ActiveMac { public static void main(String[] args) { List<Human> huma…
对Integer类中的私有IntegerCache缓存类的一点记录 // Integer类有内部缓存,存贮着-128 到 127. // 所以,每个使用这些数字的变量都指向同一个缓存数据 // 因此可以直接使用 == 来比较是否相等 Integer a = 88; Integer b = 88; System.out.println(a == b); // true // 下面这个不在Integer缓存类里的数字,在每次赋值的时候都会新建一个对象存放 // 所以,它们不能使用 == 来判断是否相…
之前一直对Linux的文件类型中的 “l” 类型的了解不是很深入,最近经过“圣经”指点,略知一二,在此先记录一下,以便以后查阅,之后会对文件和目录.文件I/O这部分再扩充. 首先需明确,Unix在查阅文件类型时,首先调用的是stat函数,格式如下:  int  stat(const char *restrict pathname , struct stat *restrictbuf)    成功则返回0(出错返回-1),得到7种文件类型如下: 1.普通文件 (-) 2.目录文件 (d) 3.块特…
1.单播,多播,广播的介绍 1.1.单播(unicast) 单播是说,对特定的主机进行数据传送.例如给某一个主机发送IP数据包.这时候,数据链路层给出的数据头里面是非常具体的目的地址,对于以太网来 说,就是网卡的MAC地址(不是FF-FF-FF-FF-FF-FF这样的地址).现在的具有路由功能的主机应该可以将单播数据定向转发,而目的主机的网 络接口则可以过滤掉和自己MAC地址不一致的数据. 1.2.广播(unicast) 广播是主机针对某一个网络上的所有主机发送数据包.这个网络可能是网络,可能是…
1.单播,多播,广播的介绍 1.1.单播(unicast) 单播是说,对特定的主机进行数据传送.例如给某一个主机发送IP数据包.这时候,数据链路层给出的数据头里面是非常具体的目的地址,对于以太网来 说,就是具体网卡的MAC地址(不是FF-FF-FF-FF-FF-FF,这是广播地址).现在的具有路由功能的主机应该可以将单播数据定向转发,而目的主机的网卡可以过滤掉和自己MAC地址不一致的数据. 1.2.广播(broadcast) 广播是主机针对某一个网络上的所有主机发送数据包.这个网络可能是网络,可…
1.广播和多播都只适用于UDP,因为TCP是面向连接的,需要将两台主机的两个进程绑定在一起,即IP地址和端口对 2.通常,网卡能看到网络中的每一个数据帧,但是往往它只接受目的地址与自己MAC地址相同的或者为广播地址的帧(现在有些也能接收多播地址),然后将它传输给设备驱动 3.广播的问题在于它给那些对广播数据不感兴趣的主机增加了处理负担(需要通过网卡,驱动,IP等一层层的判断),而多播的出现恰好解决了这些问题.通常一台主机会被指定加入一个或多个多播组,网卡也会被告知自己属于哪几个多播组,于是只有属…
1.概述      IP有三种地址:单播地址, 广播地址,多播地址.      广播和多播仅应用于UDP.      每个以太网帧包含源主机和目的主机的以太网地址.通常每个以太网帧发往单个目的主机,目的地址指明单个接收接口,因而称为单播.      一个主机要向网上的所有其他主机发送帧,就是广播.      一个主机要向网上的多个主机发送帧,就是多播. 2.广播 受限的广播:受限的广播地址是255.255.255.255.该地址用于主机配置过程中IP数据报的目的地址.主机可能还不知道它所在的网络…
五一前,一个DBA同事反馈,在日常环境中删除一个大的slow log文件(假设文件大小10G以上吧),然后在MySQL中执行flush slow logs,会发现mysqld hang住. 今天尝试着重现了此问题,这里简要分析下原因. 重现步骤: 1. 构造slow log (将long_query_time设成了0): 2. 观察删rm slow log瞬间,tps/qps变化: 3. 观察执行flush slow logs瞬间,tps/qps变化: 4. 记录flush slow logs执…
好久没有进来了,之前励志坚持写博客,记录自己在做代码搬运工这段历程中点滴,可是仅仅只坚持了几天,就放弃了!果然是,世上无难事,只要肯放弃!哈哈……闲话不多说,开始进入正题,给自己留点笔记,避免将来老了,没有记忆了,还能翻开看看.也为了能给看到这篇文章的人,需要这点帮助的人一点提示,当然这篇文章也许不是最好的,也许没有讲到点子上,各位海涵! 背景介绍:最近手头开发了一个功能,航运代理公司运送cargo的时候,需要将cago信息以EDI的形式发送给航空公司.至于EDI大家不懂的可以自行脑补一下(ww…
引言 最近看了内存缓存的一些介绍和用法,在此做个简单记录. MemoryCache 类 MemoryCache 类是.Net 4.0推出的类库,主要是为了方便在Winform和Wpf中构建缓存框架的.下面是其中的一点用法 ObjectCache cache = MemoryCache.Default; //得到MemoryCache全局实例 string myData = cache["mydata"] as string; //访问缓存数据 if (myData == null) {…
近期听搞db2的兄弟说:db2数据库软件的license 不区分平台(os). 先记下来.像db2这么高大上的软件,接触的机会是比較少的. 另外:db2 的license是须要打的,不打的话,超过一段时间.db2是无法启动的.这一点不像oracle db software,oracle db software 是没有不论什么技术上的限制.你愿意用oracle db software ,用上1万年.随便你.仅仅要别让oracle公司盯上你即可. 而一般的商业软件,都是有技术上的限制的.比方:浪潮E…
项目需要,看了点nodejs,其中比较难理解的就是Promise了,记录一下学习bluebird提供的Promise实现. Promise.promisifyAll(obj)方法 作用:把对象的方法属性变成异步方法,会在函数加上后缀Async. 看下面的代码: var Promise = require('bluebird') var obj = { func1: function () { return 'hehe' }, func2: function () { return 'xix' }…
今天帮一个朋友查一个错误,是运行时报vector iterator incompatible,一般这种问题是向量和迭代器的类型不兼容,或者是进行迭代器判等时前后向量的结构发生变化,如erase操作之后.但是朋友的问题比较诡异,类型正确,也没有进行erase操作,那么剩下唯一的可能性就是vector在某个地方被破坏了.下断点调试了一下,发现了一处调用memset的操作,是将一个字符数组类型的成员变量ServerName清零(和出问题的vector成员变量属于同一个类).仔细一看,memset的le…
最近手头有需要接入多个渠道的工作,我负责的是Android方面的接入,一般来说,渠道是非常多的,每一个渠道调用的接口都不一致,如果每一个渠道都要自己去弄回非常的耗时,所以网上会有一些接入的中间件提供商,帮助我们处理多个渠道的接入,我们只需要调用中间件相同的接口即可,不用关心不同渠道的异同. 目前中间件的提供商有:AnySDK.1SDK等,下面记录一下接入的一些知识,关于登录和支付的流程可能多家SDK不完全一致,可以参考具体的接入文档. 什么是渠道? 渠道是游戏投放到多个平台,比如游戏发布到小米的…
今天在工作中遇到了点替换的麻烦事,由于数据类进行了变动,具体情况是这样的,需要将下面的代码: player.skillData[i].name 替换为: player.skillData.getSkillInfo(i).name 具体来说就是将[i]改为getSkillInfo(i),不过遇到的问题是,需要修改的数量太多,200+个使用到的地方,而且括号中还不一定是“i”,可能是各种各样的形式(比如“index”.“_myIndex”等),总不能手动的一个一个改吧... 最后发现Eclipse是…
最近一段时间因工作需要接触了一些hive上的使用!当然大部分都是比较基本的使用,仅当入门!各位看到有不足之处望多多指正! 废话不多说,开始: 首先是创建数据库 create database '数据库名称' 创建外部表(大部分时候我使用的是外部表): CREATE EXTERNAL TABLE tmp.lng_lat( lng string, lat string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSe…
大家知道单元测试对代码质量的保障作用已经没什么可说的了.Microbenchmark(微基准测试)也是保证代码质量的重要手段,也是容易忽略的,它用来衡量一些小的代码片段的性能指标,完善的Microbenchmark可以便于定位出一些性能瓶颈,它类似于单元测试,能够进行持续集成,当代码有改动时能够通过持续集成的历史数据 看出对性能的影响点. 之前使用Google的Caliper,但目前还在重度开发中,每个版本API变化比较大,还有好些地方不够稳定,所以暂时放弃使用. JUnitBenchmark…
最近在读Undertow的源码,对于ServletPrintWriterDelegate类的实现比较感兴趣,做个记录. 源码github坐标:ServletPrintWriterDelegate.java 该类继承的是PrintWriter,但是由于并不实用PrintWriter中的OutputStream,所以实用Unsafe.allocateInstance构造了一个newInstance,完美的绕过了父类的构造方法,并可用于所有适用接口. 做个记录,备忘. 生成实例: public sta…
1 关于css实现水平垂直居中的一些方法: .css的定位:用margin,padding,position position:absolute;   //绝对定位,一般父级元素采用relative来配合使用,如果父级没有定位,将把body标签作为父级定位来使用 用position和margin的方法来实现两个div盒子的水平垂直居中: html: <body> <div class="parent"> <div class="children&…
最近在写项目的时候遇到要求使用tablayout和fragment,遇到了这里记录一下大致思路. tablayout是头部可以左右切换的头部控制栏控件,配合viewpager使用,fragment是碎片,可以放在viewpager里面,实现类似网易云音乐首页切换的效果.效果图如下: 首先添在build.gradle里面添加依赖: implementation 'com.android.support:support-v4:28.0.0' implementation 'com.android.s…
今天初步接触了下打印控件 LODOP实现了自动分页,高度宽度都可以自己设定来分页. 页码,使用LODOP.SET_PRINT_STYLE("ItemType", 2); LODOP.ADD_PRINT_TEXT(0,0,"95%",30,"总页号:第#页/共&页"); 让每个分页都显示页码/总页数,#当前页,$总页数. 每页页眉页脚.使用LODOP.SET_PRINT_STYLE("ItemType", 1); 来让其…
看了比较多的blog基本都是这个架构: supervisor ------------ app1 |-------app2 |-------.... |-------appn |-------nginx |-------redis 统一都交给supervisor来管理.总觉得哪里不对: 1) nginx作为supervisor的子进程,会有问题,它貌似会不断的去执行启动(导致大量的错误日志:端口已经被占用) 2)   nginx 和 redis 的启动与配置与app之间应该是没有耦合关系的,和s…
查看数据库实例名(SERVICE_NAME): sql: select instance_name from v$instance; 如何知道oracle客户端是32位还是64的.windows下启动sqlplus, 看到是sqlplus32即32位,看到sqlplus即是64位.PL/SQL在64为客户端不可用,要换回32位的 查看自己操作过的sql语句历史记录: select * from v$sql 复制一个表的内容到另一个表上面: insert into table(要插入数据的表) s…
先说一下我遇到的问题,我弄了一个对象池管理多个对象,对象池绑定在一个GameObject上,每个对象在OnBecameInvisible时会进行回收(即移出屏幕就回收),但是当场景切换或停止运行程序时场景中如果还有待回收的对象,就会报错,报错显示的信息为,我的对象池GameObject已经被销毁了云云,因为回收的对象我会把他们作为绑定了对象池的GameObject的子级来方便管理. 所以唯一的可能就是脚本方法调用顺序不可控,即不同GameObject的OnBecameInvisible在其它Ga…
工欲善其事必先利其器,开发工具选择Sublime Text 简称(ST) 本文所说的均在Windows NT 环境下使用的ST3运行. ST的Package Control安装方法: 1. 直接输入python代码,打开View->Show Console 粘贴如下代码回车: import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0';…
写了一很简单的获取配置文件的代码,结果怎么都在报空指针,经过上网查,直到要这样写才不会报: InputStream is = getClass().getClassLoader().getResourceAsStream("resource/MailServer.properties");   InputStream tst = getClass().getClassLoader().getResourceAsStream("resource/test.txt");…
(1) 安装nginx官网下载:http://nginx.org下载适合Windows的安装包,是一个压缩包,直接解压就可以了. (2) 启动nginx有三种方式启动:a. 双击nginx.exe图标,可见黑窗口一闪而过,启动完毕.b. cmd,到nginx目录,输入:nginx(注,此方式命令行窗口无任何提示,且被锁定)c. cmd,到nginx目录,输入:start nginx(注:此方式不锁定)在浏览器输入:http://127.0.0.1/ ,就可以看到nginx的欢迎页面了 (3) 关…
首先,异或运算是,每个位上的数不同为1,相同为0. 其次,对两个数值变量的值进行三次异或运算就等于是交换了两个变量的值. 例如: int a = 4; int b = 10; a = a ^ b; b = b ^ a; a = a ^ b; 之后的结果是: 进行位异或运算 a: 10 b: 4…