java 实现局域网多播

原创 2015年07月09日 18:03:14
要想用java编程实现发送多播信息,需要经历几个基本的编程步骤。能完成以下这几步,就是可以用Java程序来实现多播信息的
发送。
  (1)确定发送消息的具体内容;
    String msg="hello";
    (2)选用专门为多播指定的D类IP地址(224.0.0.1到239.255.255.255),创建一个多播组
      InetAddress group=InetAdress.getByName(228.5.6.7);
    (3)使用指定端口(一般选1024以上的端口)建立多播套接字
     MulticastSocket s=new MulticastSocket(6798);
   (4)加入多播组。
     s.joinGroup(group);
   (5)创建一个数据报封装多播信息
    DatagramPacket hi=new DatagramPacket(msg.getByte(),msg.length().group(),group,6789);
  (6) 发送消息
    s.send(hi)
下面给出具体实现例子:
发送消息端 Sender.java
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;
import java.net.UnknownHostException;

public class Sender {

	public static void main(String[] args) {
		//待发送的消息
		
		
		try {
			byte[] arb=new byte[]{'h','e','l','l','o'};
			//创建一个多播套接字 ip:230.0.0.1 端口:7777
			InetAddress inetadress=InetAddress.getByName("230.0.0.8");
			DatagramPacket datagram=new DatagramPacket(arb,arb.length,inetadress,7777);
		//新建一个数据包,封装多播消息并将其发出去
			MulticastSocket multicastSocket=new MulticastSocket();
			multicastSocket.send(datagram);
			
			System.out.println("发送消息");
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		

	}

}
接收消息端 Receiver.java
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;

public class Receiver {
	public static void main(String[] args){
		try{
			//加入到Ip为230.0.1,端口为7777的多播组中,并通过创建一个多播套接字来接受多播消息
			MulticastSocket multicastsocket=new MulticastSocket(7777);
			InetAddress inetaddress=InetAddress.getByName("230.0.0.8");
			multicastsocket.joinGroup(inetaddress);
			System.out.println("接收到消息");
			//无线循环接收来自发送端的消息
			while(true){
				//System.out.print(1);
				byte[] arb=new byte[100];
				DatagramPacket datagrampacket=new DatagramPacket(arb,arb.length);
			//	System.out.print(1);
				multicastsocket.receive(datagrampacket);
			//	System.out.print(1);
				System.out.println(new String(arb));
				
				
			}
		}catch(Exception e){
			
		}
	}

}


JAVA使用多播套接字实现群聊室(局域网)

import java.awt.Dimension; import java.awt.TextArea; import java.awt.TextField; import java.awt.Tool...

在局域网实现多播通讯

  • 2008年04月04日 07:48
  • 2KB
  • 下载

局域网间多播的实现

  • 2013年04月12日 20:45
  • 55KB
  • 下载

通过多播实现局域网上线用户列表 c++实现

多人在局域网上线,实现用户列表的步骤。 1、程序启动(初始化),单独只有自己。 2、发送广播,给其它用户。 3、接收其它用户发送的信息。 4、更新自己的用户列表 为了简化程序,用控制台实现,...

用Visual C++编程实现局域网多播

最近一直在看<<Unix网络编程>>这本书,觉得这本书很适合初学socket编程的人。我一直对于多播的实现比较模糊,在看了书上的多播部分的介绍,才发现在程序中实现一个基本的多播功能是如此简单。 ...

读书笔记: 局域网中实现多播(zt)

读书笔记: 局域网中实现多播  最近一直在看>这本书,觉得这本书很适合初学socket编程的人(比如说我自己 ^_^ )。我一直对于多播的实现比较模糊,在看了书上的多播部分的介绍,才发现在程序中实现...

用Visual C++语言在局域网实现IP多播

http://www.sina.com.cn 2005年12月30日 08:42 天极yesky       在局域网中,管理员常常需要将某条信息发送给一组用户。如...

在局域网内多播稳定传送大文件

  • 2008年08月24日 11:48
  • 850KB
  • 下载

在局域网内多播稳定传送大文件

  • 2006年01月13日 09:51
  • 879KB
  • 下载

一个UDP(多播)局域聊天的简单实现 (JAVA)

多播类: /**  *  程序名称:Broadcast.java  *  程序作用:创建一个多播类,用于数据的发送与接收  *  程序作者:J.J.Y  *  */ import ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java 实现局域网多播
举报原因:
原因补充:

(最多只允许输入30个字)