- 浏览: 984462 次
文章分类
- 全部博客 (428)
- Hadoop (2)
- HBase (1)
- ELK (1)
- ActiveMQ (13)
- Kafka (5)
- Redis (14)
- Dubbo (1)
- Memcached (5)
- Netty (56)
- Mina (34)
- NIO (51)
- JUC (53)
- Spring (13)
- Mybatis (17)
- MySQL (21)
- JDBC (12)
- C3P0 (5)
- Tomcat (13)
- SLF4J-log4j (9)
- P6Spy (4)
- Quartz (12)
- Zabbix (7)
- JAVA (9)
- Linux (15)
- HTML (9)
- Lucene (0)
- JS (2)
- WebService (1)
- Maven (4)
- Oracle&MSSQL (14)
- iText (11)
- Development Tools (8)
- UTILS (4)
- LIFE (8)
最新评论
-
Donald_Draper:
Donald_Draper 写道刘落落cici 写道能给我发一 ...
DatagramChannelImpl 解析三(多播) -
Donald_Draper:
刘落落cici 写道能给我发一份这个类的源码吗Datagram ...
DatagramChannelImpl 解析三(多播) -
lyfyouyun:
请问楼主,执行消息发送的时候,报错:Transport sch ...
ActiveMQ连接工厂、连接详解 -
ezlhq:
关于 PollArrayWrapper 状态含义猜测:参考 S ...
WindowsSelectorImpl解析一(FdMap,PollArrayWrapper) -
flyfeifei66:
打算使用xmemcache作为memcache的客户端,由于x ...
Memcached分布式客户端(Xmemcached)
NetworkChannel接口定义:http://donald-draper.iteye.com/blog/2369773
MembershipKey定义:http://donald-draper.iteye.com/blog/2372947
MembershipKey定义:http://donald-draper.iteye.com/blog/2372947
package java.nio.channels; import java.net.InetAddress; import java.net.NetworkInterface; import java.io.IOException; import java.net.ProtocolFamily; // javadoc import java.net.StandardProtocolFamily; // javadoc import java.net.StandardSocketOptions; // javadoc /** * A network channel that supports Internet Protocol (IP) multicasting. *MulticastChannel是一个支持多播网络IP协议的网络通道 * IP multicasting is the transmission of IP datagrams to members of * a [i]group[/i] that is zero or more hosts identified by a single destination * address. *IP多播是传输IP报文到多播组目的地址的一个或多个主机。 * <p> In the case of a channel to an {@link StandardProtocolFamily#INET IPv4} socket, * the underlying operating system supports <a href="http://www.ietf.org/rfc/rfc2236.txt"> * <i>RFC 2236: Internet Group Management Protocol, Version 2 (IGMPv2)</i></a>. * It may optionally support source filtering as specified by <a * href="http://www.ietf.org/rfc/rfc3376.txt"> <i>RFC 3376: Internet Group * Management Protocol, Version 3 (IGMPv3)</i></a>. * For channels to an {@link StandardProtocolFamily#INET6 IPv6} socket, the equivalent * standards are <a href="http://www.ietf.org/rfc/rfc2710.txt"> <i>RFC 2710: * Multicast Listener Discovery (MLD) for IPv6</i></a> and <a * href="http://www.ietf.org/rfc/rfc3810.txt"> <i>RFC 3810: Multicast Listener * Discovery Version 2 (MLDv2) for IPv6</i></a>. * 一个ip4的socket网络通道底层支持IGMPv2,可以源地址过滤的IGMPv3。一个IPv6的socket网络通道 ,对应的为MLD,MLDv2。 * <p> The {@link #join(InetAddress,NetworkInterface)} method is used to * join a group and receive all multicast datagrams sent to the group. A channel * may join several multicast groups and may join the same group on several * {@link NetworkInterface interfaces}. Membership is dropped by invoking the {@link * MembershipKey#drop drop} method on the returned {@link MembershipKey}. If the * underlying platform supports source filtering then the {@link MembershipKey#block * block} and {@link MembershipKey#unblock unblock} methods can be used to block or * unblock multicast datagrams from particular source addresses. *join(InetAddress,NetworkInterface)方法加入一个多播组,接受发送到多播组的报文。 一个多播通道可以加入多个多播分组,或加入多个网卡接口的相同多播分组。调用MembershipKey的 drop方法,将会丢弃Membership,即MembershipKey无效。如果底层操作系统支持源地址过滤,则 可以调用MembershipKey#block和#unblock方法,用于阻塞从特殊源地址的报文或解除从特殊源地址的报文阻塞。 * <p> The {@link #join(InetAddress,NetworkInterface,InetAddress)} method * is used to begin receiving datagrams sent to a group whose source address matches * a given source address. This method throws {@link UnsupportedOperationException} * if the underlying platform does not support source filtering. Membership is * [i]cumulative[/i] and this method may be invoked again with the same group * and interface to allow receiving datagrams from other source addresses. The * method returns a {@link MembershipKey} that represents membership to receive * datagrams from the given source address. Invoking the key's {@link * MembershipKey#drop drop} method drops membership so that datagrams from the * source address can no longer be received. *#join(InetAddress,NetworkInterface,InetAddress)方法为,加入一个多播组, 开始接受发送到多播组的源地址报文。如果底层平台不支持源地址过滤,则抛出UnsupportedOperationException。 多播组成员关系是可以累加的,,此方法以相同的多播地址和网络接口参数可以多次调用, 即允许接受多个源地址发送到多播组的报文。此方法返回一个表示接受指定源地址报文的多播关系key。 调用MembershipKey#drop方法,将解除多播成员关系,即不在接受源地址发送的多播报文。 * <h4>Platform dependencies</h4> *平台依赖性 * The multicast implementation is intended to map directly to the native * multicasting facility. Consequently, the following items should be considered * when developing an application that receives IP multicast datagrams: *多播的实现是需要直接映射到本地的多播硬件设备。因此在开发一个接受多播ip的报文时, 需要考虑一下几条: * [list=1] * * <li><p> The creation of the channel should specify the {@link ProtocolFamily} * that corresponds to the address type of the multicast groups that the channel * will join. There is no guarantee that a channel to a socket in one protocol * family can join and receive multicast datagrams when the address of the * multicast group corresponds to another protocol family. For example, it is * implementation specific if a channel to an {@link StandardProtocolFamily#INET6 IPv6} * socket can join an {@link StandardProtocolFamily#INET IPv4} multicast group and receive * multicast datagrams sent to the group. </li> *通道创建时应该确定通道加入的多播组地址类型的ProtocolFamily。多播通道不能保证, 一个ProtocolFamily类型的socket可以接受另外一个ProtocolFamily类型的多播组报文,或者说 不能保证能加入另外一个ProtocolFamily类型多播组。比如通道的socket的协议组为StandardProtocolFamily#INET6 IPv6 ,而加入的多播组为StandardProtocolFamily#INET IPv4。这段话的含义为,通道在创建关联一个 协议ProtocolFamily,具体的协议通道,只能加入相应的多播协议组。及INET6通道只能加入ip6地址多播组, INET通道只能加入ip4地址多播组。 //DatagramChannel,打开一个指定协议的报文通道 public static DatagramChannel open(ProtocolFamily family) throws IOException { return SelectorProvider.provider().openDatagramChannel(family); } * <li> The channel's socket should be bound to the {@link * InetAddress#isAnyLocalAddress wildcard} address. If the socket is bound to * a specific address, rather than the wildcard address then it is implementation * specific if multicast datagrams are received by the socket. </li> *通道应该绑定一个本地地址。如果绑定为一个特定的地址,而不是本地地址,具体的通道实现 需要确定是否多播报文可以通过socket接受。 * <li> The {@link StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR} option should be * enabled prior to {@link NetworkChannel#bind binding} the socket. This is * required to allow multiple members of the group to bind to the same * address. </li> *StandardSocketOptions#SO_REUSEADDR应该在地址绑定前,配置地址重用选项。 以便多个成员能够绑定同样的地址,加入多播组。 * [/list] * * <p> <b>Usage Example:</b> * <pre>使用实例 * // join multicast group on this interface, and also use this * // interface for outgoing multicast datagrams 加入一个指定网卡的多播组,同时用这个网卡发送多播报文 * NetworkInterface ni = NetworkInterface.getByName("hme0"); * * DatagramChannel dc = DatagramChannel.open(StandardProtocolFamily.INET) * .setOption(StandardSocketOptions.SO_REUSEADDR, true) * .bind(new InetSocketAddress(5000)) * .setOption(StandardSocketOptions.IP_MULTICAST_IF, ni); * * InetAddress group = InetAddress.getByName("225.4.5.6"); * * MembershipKey key = dc.join(group, ni); * </pre> * * @since 1.7 */ //多播通道 public interface MulticastChannel extends NetworkChannel { /** * Closes this channel. *关闭通道 * <p> If the channel is a member of a multicast group then the membership * is {@link MembershipKey#drop dropped}. Upon return, the {@link * MembershipKey membership-key} will be {@link MembershipKey#isValid * invalid}. *如果通道是一个多播组的成员,在通道关闭时,将会drop相应的MembershipKey。 在方法执行后,MembershipKey将会无效 * <p> This method otherwise behaves exactly as specified by the {@link * Channel} interface. *此方法在其他方面与通道接口相似。 * @throws IOException * If an I/O error occurs */ @Override void close() throws IOException; /** * Joins a multicast group to begin receiving all datagrams sent to the group, * returning a membership key. *加入一个多播组,开始接受发送到多播组的报文,返回MembershipKey。 * <p> If this channel is currently a member of the group on the given * interface to receive all datagrams then the membership key, representing * that membership, is returned. Otherwise this channel joins the group and * the resulting new membership key is returned. The resulting membership key * is not {@link MembershipKey#sourceAddress source-specific}. *如果为指定网络接口地址的组成员,正在接受所有报文,将返回表示成员关系的MembershipKey。 否则通道加入分组,创建一个新的MembershipKey返回。MembershipKey的源地址是不确定的。 * <p> A multicast channel may join several multicast groups, including * the same group on more than one interface. An implementation may impose a * limit on the number of groups that may be joined at the same time. *一个多播通道可以加入多个多播分组,包括在一个或多个网络接口上的相同分组。一个具体 的实现也许会限制同一时间加入多播组的数量。 * @param group * The multicast address to join * @param interf * The network interface on which to join the group * * @return The membership key * * @throws IllegalArgumentException,多播组地址为非多播地址,或通道不支持多播组地址参数 * If the group parameter is not a {@link InetAddress#isMulticastAddress * multicast} address, or the group parameter is an address type * that is not supported by this channel * @throws IllegalStateException,如果通道已经加入源地址确定的对应的网络接口上的多播组 * If the channel already has source-specific membership of the * group on the interface * @throws UnsupportedOperationException 如果通道不是一个网络写socket * If the channel's socket is not an Internet Protocol socket * @throws ClosedChannelException * If this channel is closed * @throws IOException * If an I/O error occurs * @throws SecurityException * If a security manager is set, and its * {@link SecurityManager#checkMulticast(InetAddress) checkMulticast} * method denies access to the multiast group */ MembershipKey join(InetAddress group, NetworkInterface interf) throws IOException; /** * Joins a multicast group to begin receiving datagrams sent to the group * from a given source address. *加入一个多播组,开始接受发送到多播组的源地址报文,返回MembershipKey。 * <p> If this channel is currently a member of the group on the given * interface to receive datagrams from the given source address then the * membership key, representing that membership, is returned. Otherwise this * channel joins the group and the resulting new membership key is returned. * The resulting membership key is {@link MembershipKey#sourceAddress * source-specific}. *如果为指定网络接口地址的组成员,正在接受所有源地址的报文,将返回表示成员关系的MembershipKey。 否则通道加入分组,创建一个新的MembershipKey返回。MembershipKey的源地址是确定的。 * <p> Membership is [i]cumulative[/i] and this method may be invoked * again with the same group and interface to allow receiving datagrams sent * by other source addresses to the group. *多播组成员关系是可以累加的,此方法以相同的多播地址和网络接口参数可以多次调用, 即允许从多个源地址发送报文到多播组。 * @param group * The multicast address to join * @param interf * The network interface on which to join the group * @param source * The source address * * @return The membership key * * @throws IllegalArgumentException * If the group parameter is not a {@link * InetAddress#isMulticastAddress multicast} address, the * source parameter is not a unicast address, the group * parameter is an address type that is not supported by this channel, * or the source parameter is not the same address type as the group * @throws IllegalStateException * If the channel is currently a member of the group on the given * interface to receive all datagrams * @throws UnsupportedOperationException * If the channel's socket is not an Internet Protocol socket or * source filtering is not supported * @throws ClosedChannelException * If this channel is closed * @throws IOException * If an I/O error occurs * @throws SecurityException * If a security manager is set, and its * {@link SecurityManager#checkMulticast(InetAddress) checkMulticast} * method denies access to the multiast group */ MembershipKey join(InetAddress group, NetworkInterface interf, InetAddress source) throws IOException; }
发表评论
-
文件通道解析二(文件锁,关闭通道)
2017-05-16 23:17 1075文件通道解析一(读写操作,通道数据传输等):http://do ... -
文件通道解析一(读写操作,通道数据传输等)
2017-05-16 10:04 1172Reference定义(PhantomRefere ... -
文件通道创建方式综述
2017-05-15 17:39 1074Reference定义(PhantomReference,Cl ... -
文件读写方式简单综述后续(文件,流构造)
2017-05-14 23:04 1493Java Socket通信实例:http://donald-d ... -
文件读写方式简单综述
2017-05-14 11:13 1142Java Socket通信实例:http://donald-d ... -
FileChanne定义
2017-05-12 23:28 948文件读写方式简单综述:http://donald-draper ... -
SeekableByteChannel接口定义
2017-05-11 08:43 1244ByteChannel,分散聚集通道接口的定义(SocketC ... -
FileChannel示例
2017-05-11 08:37 1003前面我们看过socket通道,datagram通道,以管道Pi ... -
PipeImpl解析
2017-05-11 08:41 941ServerSocketChannel定义:http://do ... -
Pipe定义
2017-05-10 09:07 916Channel接口定义:http://donald-drape ... -
NIO-Pipe示例
2017-05-10 08:47 914PipeImpl解析:http://donald-draper ... -
DatagramChannelImpl 解析四(地址绑定,关闭通道等)
2017-05-10 08:27 791DatagramChannelImpl 解析一(初始化):ht ... -
DatagramChannelImpl 解析三(多播)
2017-05-10 08:20 1927DatagramChannelImpl 解析一(初始化):ht ... -
NIO-UDP实例
2017-05-09 12:32 1593DatagramChannelImpl 解析一(初始化):ht ... -
DatagramChannelImpl 解析二(报文发送与接收)
2017-05-09 09:03 1418DatagramChannelImpl 解析一(初始化):ht ... -
DatagramChannelImpl 解析一(初始化)
2017-05-08 21:52 1421Channel接口定义:http://donald-drape ... -
MembershipKeyImpl 简介
2017-05-08 09:11 932MembershipKey定义:http://donald-d ... -
DatagramChannel定义
2017-05-07 23:13 1238Channel接口定义:http://donald-drape ... -
MembershipKey定义
2017-05-06 16:20 927package java.nio.channels; i ... -
SocketChannelImpl 解析四(关闭通道等)
2017-05-05 08:38 2550SocketChannelImpl 解析一(通道连接,发送数据 ...
相关推荐
ysoserial是一个用于生成利用不安全的Java对象反序列化的有效负载的概念验证工具。它包含一系列在常见Java库中发现的"gadget chains",可以在特定条件下利用执行不安全的反序列化操作的Java应用程序。ysoserial项目最初在2015年AppSecCali会议上提出,包含针对Apache Commons Collections(3.x和4.x版本)、Spring Beans/Core(4.x版本)和Groovy(2.3.x版本)的利用链
1、嵌入式物联网单片机项目开发例程,简单、方便、好用,节省开发时间。 2、代码使用IAR软件开发,当前在CC2530上运行,如果是其他型号芯片,请自行移植。 3、软件下载时,请注意接上硬件,并确认烧录器连接正常。 4、有偿指导v:wulianjishu666; 5、如果接入其他传感器,请查看账号发布的其他资料。 6、单片机与模块的接线,在代码当中均有定义,请自行对照。 7、若硬件有差异,请根据自身情况调整代码,程序仅供参考学习。 8、代码有注释说明,请耐心阅读。 9、例程具有一定专业性,非专业人士请谨慎操作。
YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;
**Oracle 10g DBA学习手册:安装Oracle和构建数据库** **目的:** 本章节旨在指导您完成Oracle数据库软件的安装和数据库的创建。您将通过Oracle Universal Installer (OUI)了解软件安装过程,并学习如何利用Database Configuration Assistant (DBCA)创建附加数据库。 **主题概览:** 1. 利用Oracle Universal Installer (OUI)安装软件 2. 利用Database Configuration Assistant (DBCA)创建数据库 **第2章:Oracle软件的安装与数据库构建** **Oracle Universal Installer (OUI)的运用:** Oracle Universal Installer (OUI)是一个图形用户界面(GUI)工具,它允许您查看、安装和卸载机器上的Oracle软件。通过OUI,您可以轻松地管理Oracle软件的安装和维护。 **安装步骤:** 以下是使用OUI安装Oracle软件并创建数据库的具体步骤:
消防验收过程服务--现场记录表.doc
数据库管理\09-10年第1学期数据库期末考试试卷A(改卷参考).doc。内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。
YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;
职业暴露后的处理流程.docx
Java Web开发短消息系统
项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 服务器:tomcat7
这是一款可以配置过滤目录及过滤的文件后缀的工具,并且支持多个项目同时输出导出,并过滤指定不需要导出的目录及文件后缀。 导出后将会保留原有的路径,并在新的文件夹中体现。
Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
YOLO算法-挖掘机与火焰数据集-7735张图像带标签-挖掘机.zip
操作系统实验 Ucore lab5
IMG_5950.jpg
竞选报价评分表.docx
java系统,mysql、springboot等框架
1、嵌入式物联网单片机项目开发例程,简单、方便、好用,节省开发时间。 2、代码使用IAR软件开发,当前在CC2530上运行,如果是其他型号芯片,请自行移植。 3、软件下载时,请注意接上硬件,并确认烧录器连接正常。 4、有偿指导v:wulianjishu666; 5、如果接入其他传感器,请查看账号发布的其他资料。 6、单片机与模块的接线,在代码当中均有定义,请自行对照。 7、若硬件有差异,请根据自身情况调整代码,程序仅供参考学习。 8、代码有注释说明,请耐心阅读。 9、例程具有一定专业性,非专业人士请谨慎操作。
YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;
内容概要:本文详细讲解了搜索引擎的基础原理,特别是索引机制、优化 like 前缀模糊查询的方法、建立索引的标准以及针对中文的分词处理。文章进一步深入探讨了Lucene,包括它的使用场景、特性、框架结构、Maven引入方法,尤其是Analyzer及其TokenStream的实现细节,以及自定义Analyzer的具体步骤和示例代码。 适合人群:数据库管理员、后端开发者以及希望深入了解搜索引擎底层实现的技术人员。 使用场景及目标:适用于那些需要优化数据库查询性能、实施或改进搜索引擎技术的场景。主要目标在于提高数据库的访问效率,实现高效的数据检索。 阅读建议:由于文章涉及大量的技术术语和实现细节,建议在阅读过程中对照实际开发项目,结合示例代码进行实践操作,有助于更好地理解和吸收知识点。