- 浏览: 1072704 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (379)
- eclipse (6)
- java基础 (21)
- opencms (4)
- tomcat (10)
- kettle (13)
- spring (7)
- 生活点滴 (3)
- linux (61)
- database (1)
- php (4)
- mac (3)
- mysql (37)
- maven (5)
- Asterisk (2)
- android (4)
- birt (2)
- hadoop (52)
- pentaho (46)
- distributed (2)
- Storm (2)
- 数据挖掘 (1)
- cassandra (0)
- spark (0)
- greenplum (3)
- R (1)
- liferay (3)
- 深度学习 (2)
- 数学 (1)
- Docker (3)
- Rancher (2)
- html (1)
- oracle (0)
- 交易 (0)
- Davinci (0)
最新评论
-
gujunge:
劝退。不支持两步验证登录、复制Session无效
Linux下SecureCRT的替代品:PAC Manager -
huangtianleyuan:
各位大神,有没有集成好的,请不吝赐教 qq:375249222 ...
在Web中集成Kettle -
梦行Monxin商城系统:
Dapper,大规模分布式系统的跟踪系统 -
hunter123456:
您好,请问一下,pentaho5.X 以上的版本,在服务器上建 ...
pentaho 4.8 添加 kettle 文件资源库的支持 -
hunter123456:
你好!pentaho5上 cas 单点登录,除了 修改appl ...
作为一个BI开发人员,我要发布报表,元数据,OLAP的模型到BI服务器
编辑一个java组播应用程序的过程如下
1. 创建一个用于发送和接收的MulticastSocket组播套接字对象
2. 创建一个指定缓冲区大小及组播地址和端口的DatagramPacket组播数据包对象
3. 使用组播套接字joinGroup(),将其加入到一个组播
4. 使用组播套接字的send()方法,将组播数据包对象放入其中,发送组播数据包.
或者
使用组播套接字的receive()方法,将组播数据包对象放入其中,接收组播数据包
5. 解码组播数据包提取信息,并依据得到的信息作出响应String s = new String(dp.getData(), 0, dp.getLength());
6. 重复过程4和5,即在while循环中实现。
7. 使用组播套接字的leaveGroup()方法,离开组播组;关闭组播套接字
接收组播数据包程序:
public class MulticastReceived { public static void main(String[] args) throws Exception { InetAddress group = InetAddress.getByName("224.0.0.4"); // 组播地址 int port = 4006; // 端口 MulticastSocket msr = null; try { msr = new MulticastSocket(port); // 1.创建一个用于发送和接收的MulticastSocket组播套接字对象 msr.joinGroup(group); // 3.使用组播套接字joinGroup(),将其加入到一个组播 byte[] buffer = new byte[8192]; System.out.println("接收数据包启动!(启动时间:)" + new java.util.Date() + ")"); while (true) { DatagramPacket dp = new DatagramPacket(buffer, buffer.length); // 2.创建一个指定缓冲区大小及组播地址和端口的DatagramPacket组播数据包对象 msr.receive(dp); // 4.使用组播套接字的receive()方法,将组播数据包对象放入其中,接收组播数据包 String s = new String(dp.getData(), 0, dp.getLength()); // 5.解码组播数据包提取信息,并依据得到的信息作出响应 System.out.println(s); } } catch (IOException e) { e.printStackTrace(); } finally { if (msr != null) { try { msr.leaveGroup(group); // 7.使用组播套接字的leaveGroup()方法,离开组播组 msr.close(); // 关闭组播套接字 } catch (IOException e) { } } } } }
发送组播数据包程序:
public class MulticastSender { public static void main(String[] args) throws Exception { InetAddress group = InetAddress.getByName("224.0.0.1"); // 组播地址 int port = 4000; // 端口 MulticastSocket mss = null; try { mss = new MulticastSocket(port); // 1.创建一个用于发送和接收的MulticastSocket组播套接字对象 mss.joinGroup(group); // 3.使用组播套接字joinGroup(),将其加入到一个组播 byte[] buffer = new byte[8192]; System.out.println("接收数据包启动!(启动时间:)" + new java.util.Date() + ")"); while (true) { String message = "Hello" + new java.util.Date(); byte[] buffer2 = message.getBytes(); // 2.创建一个指定缓冲区大小及组播地址和端口的DatagramPacket组播数据包对象 DatagramPacket dp = new DatagramPacket(buffer, buffer.length, group, port); // msr.receive(dp); //接收组播数据包 mss.send(dp); // 4.使用组播套接字的send()方法,将组播数据包对象放入其中,发送组播数据包 // String s = new String(dp.getData(), 0, dp.getLength()); //5.解码组播数据包提取信息,并依据得到的信息作出响应 System.out.println("发送数据包给" + group + ":" + port); Thread.sleep(1000); } } catch (IOException e) { e.printStackTrace(); } finally { if (mss != null) { try { mss.leaveGroup(group); // 7.使用组播套接字的leaveGroup()方法,离开组播组 mss.close(); // 关闭组播套接字 } catch (IOException e) { } } } } }
评论
3 楼
arthaslery
2015-12-09
4.还有一点是要在最上面加上
import java.io.*;
import java.net.*;
import java.io.*;
import java.net.*;
2 楼
arthaslery
2015-12-09
博主的程序改一改以后是很好用的
1.发送数据包的buffer2要改成buffer,然后删掉上面的buffer定义
2.组播地址224.0.0.4和224.0.0.1要改成相同的
3.发送端的socket端口不重要,但是接收端的socket端口和发送端的packet目标端口必须相同,也就是说要把4006和4000改成一样的
1 楼
戴改改
2015-05-03
发送的地址和 接受的地址不一样啊。。
一个.4一个.1;
我自己实验 用230.0.0.1 在两台机器上就没法接受了
只有在224才行。。。
一个.4一个.1;
我自己实验 用230.0.0.1 在两台机器上就没法接受了
只有在224才行。。。
发表评论
-
Java基于Runtime调用外部程序出现阻塞的解决方法
2015-12-18 20:06 1093本文实例讲述了Java基于Runtime调用外部程序出现阻 ... -
Apache Ant 实例介绍
2015-06-11 18:05 0Ant和Maven的优劣区别在这里就不再说了,在本篇,着 ... -
java线程wait和notifyAll方法的简单使用
2015-05-09 12:14 866今天温习了java线程的 ... -
KeePass密码管理与自动登录
2015-01-04 15:07 1884KeePass管理密码,后面可以使用脚本自动登录: ... -
使用jmap做java进程dump
2014-09-02 11:05 2200命令:jmap -dump:format=b,file=he ... -
apache 所有版本下载地址
2014-06-09 19:05 812http://archive.apache.org/dist/ ... -
How to build and package OpenJDK 7 on Linux
2014-05-13 22:59 1108Some pre-requisites are r ... -
java.util.ResourceBundle使用
2014-04-23 16:21 1438java.util.ResourceBundle使用详解 ... -
文件在使用FileChannel.map后不能被删除(Windows上)
2014-04-15 09:14 1088同事发现在Windows上使 ... -
LRU算法 java实现
2014-04-15 09:06 5290最简单的LRU算法实现,就是利用Java的LinkedHa ... -
log4j每个小时生成一个日志文件
2013-12-14 16:23 3451log4j.properties 属性文件 log4j ... -
扩展JAAS实现类实例级授权
2013-08-15 15:02 904转:http://www.ibm.com/developer ... -
简简单单的代码让你轻松学会动态代理
2013-08-03 19:10 994转:http://weixiaolu.iteye.com ... -
Java NIO原理图文分析及代码实现
2013-08-03 19:04 967转:http://weixiaolu.iteye.com/ ... -
Java的安全学习(包括加密,数字签名,证书和认证) JCA JCE
2012-04-09 00:18 4149自己作个笔记: package de ... -
JDK1.5中的线程池使用简介
2012-02-27 10:46 1169在多线程大师Doug Lea的贡献下,在JDK1.5中加入了许 ... -
面试java高级工程师、项目经理等的常见问题
2012-02-07 10:41 01、 类、对象的概念: 1) 类:具有共同属性和行为的对象 ... -
Java的ClassLoader机制解析
2012-02-05 17:31 2069JVM在加载类的时候,都 ... -
java安全管理器-SecurityManager
2012-02-03 17:15 1459当java应用程序启动时,它还没有安全管理器,应用程序可以通过 ... -
JSP包含指令include包含html文件出现乱码分析与解决
2011-08-19 09:25 2706关于JSP页面中的pageEncoding和contentTy ...
相关推荐
基于Java网络编程中组播技术的应用研究
基于Java网络编程中组播技术的应用研究.pdf
基于Java网络编程中组播技术的应用与研究.pdf
本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各方面的内容,书中章节涉及到TCP和UDP socket、服务器socket、URL和URI、组播以及特殊用途的API(如JavaMail)等等。本书展示了如何使用JSSE编写安全的...
无论是希望编写特殊用途的Web服务器、安全的在线订单接收程序、简单的组播代理还是电子邮件客户端,都会找到可供学习和借用的代码。 无论你是经验丰富的网络开发人员、Java程序员新手,还是只希望对Java网络编程稍...
本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各方面的内容,书中章节涉及到TCP和UDP socket、服务器socket、URL和URI、组播以及特殊用途的API(如JavaMail)等等。本书展示了如何使用JSSE编写安全的...
实例68 组播组中发送和接受数据 实例69 时间日期服务器 实例70 FTP连接与浏览 实例71 HTTP连接与浏览 实例72 数据压缩与传输 实例73 Telnet客户端 实例74 创建和配置数据源 实例75 建立与断开数据库的连接 实例76 ...
基于socket编程题的java聊天程序 实现客户端 服务端通信、登录等功能。是毕业设计和课程设计必不可少的好资源
本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各方面的内容,书中章节涉及到TCP和UDPsocket、服务器socket、URL和URI、组播以及特殊用途的API(如JavaMail)等等。本书展示了如何使用JSSE编写安全的...
本书内容全面涵盖了从网络基础知识到远程方法调用(RMI)等各方面的内容,书中章集涉及到TCP和UDP socket 、服务器socket、URL和URI、组播以及特殊用途的API(如JavaMail)等等。本书展示了如何使用JSSE编写安全的...
本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各方面的内容,书中章节涉及到TCP和UDP socket、服务器socket、URL和URI、组播以及特殊用途的API(如JavaMail)等等。本书展示了如何使用JSSE编写安全的...
这是java udp网络编程的一个实例,对做p2p软件很有帮助,传上来和大家分享。
基于Java Socket编程的局域网聊天程序源代码,供新手分析使用
Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非...
本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各方面的内容,书中章节涉及到TCP和UDP socket、服务器socket、URL和URI、组播以及特殊用途的API(如JavaMail)等等。本书展示了如何使用JSSE编写安全的...
本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各方面的内容,书中章节涉及到TCP和UDP socket、服务器socket、URL和URI、组播以及特殊用途的API(如JavaMail)等等。本书展示了如何使用JSSE编写安全的...
本书是一本以网络应用实例为主的实用型参考书,主要包括访问资源、网络Applet小程序、Socket、UDP协议通讯、网络组播、邮件收发、远程方法调用、多媒体数据流的传输和播放,以及常用网络工具的实例等。在配书光盘中...
本书内容全面,涵盖了从网络基础知识到远程方法调用(rmi)等各方面的内容,书中章节涉及到tcp和udp socket、服务器socket、url和uri、组播以及特殊用途的api(如javamail)等等。本书展示了如何使用jsse编写安全的...
Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 ...
Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 ...