Java 组播发送数据和接受数据实例

http://www.codefans.net/articles/270.shtml

Java实现在组播组中发送数据和接受数据实例,组播组虚拟IP,是一个DatagramSocket实例,包括发送信息和关闭端口等,程序分为服务端MulticastServer.java文件和客户端MulticastClient.java文件。

MulticastServer.java 代码如下:

01 import java.net.*;
02 import java.io.*;
03 public class MulticastServer{
04     String groupHost="232.0.0.1";  //组播组虚拟IP
05     int port=5678;  //端口
06     public MulticastServer(){
07         try{
08             MulticastSocket multicastSocket = new MulticastSocket(port); //MulticastSocket实例
09             InetAddress inetAddress = InetAddress.getByName(groupHost); //组地址
10             multicastSocket.joinGroup(inetAddress); //加入到组播组中
11             while (true){
12                 byte[] received = new byte[128]; //接收数据缓冲
13                 DatagramPacket datagramPacket = new DatagramPacket(received, received.length); //接收数据的数据报
14                 multicastSocket.receive(datagramPacket); //接收数据
15                 System.out.println(new String(received)); //输出接收到的数据
16             }
17         }
18         catch (Exception exception){
19             exception.printStackTrace(); //输出出错信息
20         }
21     }
22     public static void main(String [] arstring){
23         new  MulticastServer();  
24     }
25 }

MulticastClient.java 代码如下:

01 import java.net.*;
02 import java.io.*;
03 public class MulticastClient{
04     String groupHost="232.0.0.1"//组播组虚拟IP
05     int port=5678//端口
06     public MulticastClient(){
07         try{
08             byte[] message = "Hello,This is Client.".getBytes(); //发送信息
09             InetAddress inetAddress = InetAddress.getByName(groupHost); //组播地址
10             DatagramPacket datagramPacket= new DatagramPacket(message, message.length, inetAddress, port); //发送数据报
11             DatagramSocket socket = new DatagramSocket(); //DatagramSocket实例
12             socket.send(datagramPacket); //发送数据
13             socket.close(); //关闭端口
14         }
15         catch (Exception exception) {
16             exception.printStackTrace();  //输出错误信息
17         }
18     }
19     public static void main(String[] args){
20         new MulticastClient();
21     }
22 }
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值