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

来源:互联网 发布:windows无法与dns通信 编辑:程序博客网 时间:2024/05/16 16:10

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

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

MulticastServer.java 代码如下:

01import java.net.*;
02import java.io.*;
03public 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 代码如下:

view source
print?
01import java.net.*;
02import java.io.*;
03public 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 0
原创粉丝点击