用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字

柯侧耳倾听者    -  云代码空间

—— 翱翔在Java世界的海洋之上

Java组播编程

2017-12-14|825阅||

摘要:         一、实验目的 1、掌握组播的工作原理,理解组播与广播的区别。 2、熟悉组播的相关应用,掌握组播报文的发送和接收以及Java组播程序设计方法。  

        

一、实验目的

1、掌握组播的工作原理,理解组播与广播的区别。

2、熟悉组播的相关应用,掌握组播报文的发送和接收以及Java组播程序设计方法。

 

二、预习内容及要求(要求写出预习内容)

1、掌握不同类型的输入输出流类,标准数据流、文件流、数据输入输出流、对象流等。

2、编程时,应考虑异常处理。

 

三、实验内容、操作过程及实验结果记录

设计一个简单的组播报文发送程序。

应用背景:模仿RIPv2协议,程序每隔5s定时向组播地址229.0.0.9发送报文,端口号为5000。组播报文格式为:IP地址%学号%姓名%当前时间,例如:x.x.x.x%20010101%李明%2015-08-12 10:22:22。

1、提示:定期发送组播报文程序流程图建议

 

2、要求完成程序代码编写、调试与运行通过。

(1)发送端程序:

 

import java.net.DatagramPacket;

import java.net.InetAddress;

import java.net.MulticastSocket;

 

public class MulticastSender {

 

public static void main(String[] args)throws Exception {        

InetAddress group = InetAddress.getByName("229.0.0.9");

MulticastSocket ms = new MulticastSocket();

ms.joinGroup(group);

String msg = "hello,everybody";

byte[] b = msg.getBytes();

DatagramPacket dp = new DatagramPacket(b, b.length,group,5000);

ms.send(dp);

System.out.println("发送问候给:"+group+":"+5000);

ms.close();

}

}

 

(2)接收端程序:

 

import java.io.IOException;

import java.net.DatagramPacket;

import java.net.InetAddress;

import java.net.MulticastSocket;

 

public class MulticastReceiver {

 

public static void main(String[] args) throws IOException{

InetAddress group = InetAddress.getByName("229.0.0.9");

MulticastSocket ms = new MulticastSocket(5000);

ms.joinGroup(group);

byte[] b = new byte[100];

DatagramPacket dp = new DatagramPacket(b, b.length);

ms.receive(dp);

String str = new String(dp.getData(),0,dp.getLength());

System.out.println(""+dp.getAddress().toString()+":"

+dp.getPort()+"收到消息");

System.out.println(str);

ms.leaveGroup(group);

ms.close();

}

}

 

 

四、实验过程中所遇问题思考与讨论(可写个人体会,或相关理论知识,根据个人具体情况选做)

通过这次的学习与实验,我初步掌握了网络编程中组播Socket的一些用法和问题,也更加了解了网络编程中组播的概念,为今后更好的学习网络编程做好铺垫,在学习的过程中,我更加深刻的体会到与老师和同学间的交流与合作是多么的重要,所以在今后的学习与实验当中,要善于发现问题,更要及时与老师反馈问题所在,并与老师和同学交流学习经验,共同解决问题,这样才能更好的学好网络编程。

    

顶 0踩 0收藏
文章评论
    发表评论

    个人资料

    • 昵称: 柯侧耳倾听者
    • 等级: 初级设计师
    • 积分: 2220
    • 代码: 64 个
    • 文章: 64 篇
    • 随想: 5 条
    • 访问: 43 次
    • 关注

    标签

    最新提问

      站长推荐