📄 receiveclientframe.java
字号:
package codetest;import java.io.*;import java.net.*;import java.awt.*;import javax.swing.*;import java.awt.event.*;/** * Title: client * Description: test for multicast receive! * Copyright: Copyright (c) 2004 * Company: gxnu * @author zwm * @version 1.0 */public class receiveClientFrame extends JFrame{ JPanel contentPane; Label label1 = new Label(); Button button1 = new Button(); //声明组播组使用的端口为5000 int port; //声明建立组播组使用的组播组地址 InetAddress group; //声明建立组播组使用的MulticastSocket类 MulticastSocket socket; //声明发送和接收数据所使用的DatagramPacket类 DatagramPacket packet; //构造函数 public receiveClientFrame() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); }//end of try //出错处理 catch(Exception e) { e.printStackTrace(); } //end of catch } private void jbInit() throws Exception { contentPane = (JPanel)this.getContentPane(); label1.setBounds(new Rectangle(70,63,266,39)); contentPane.setLayout(null); this.setSize(new Dimension(378,235)); this.setTitle("Receive Data Client"); button1.setLabel("接收组播数据"); button1.setBounds(new Rectangle(132,144,126,38)); button1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button1_actionPerformed(e); }//end of public void actionPerformed });//end of button1.addActionListener contentPane.add(label1,null); contentPane.add(button1,null); }//end of private void ibInit protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if(e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); } } //end of protected void processWindowEvent //"接收组播数据“事件 void button1_actionPerformed(ActionEvent e) { try { //设置组播组监听端口为5000 port = 5000; //设置组播组地址为239.255.0.0 group = InetAddress.getByName("239.255.0.0"); //创建并初始化MulticastSocket实例 socket = new MulticastSocket(port); //加入组播组 socket.joinGroup(group); //char[] data = char[100]; //byte[] data = byte[100]; byte[] data = new byte[100]; //创建和初始化DatagramPacket实例 packet = new DatagramPacket(data,data.length,group,port); //接收组播源发来的组播数据 socket.receive(packet); //String message = new String(packet.getdata(),0,packet.getLength()); String message = new String(packet.getData(),0,packet.getLength()); label1.setText("接收到的组播数据:" + message); } //end of try //出错处理 catch(Exception e1) { System.out.println("Error:" + e1); } //end of catch } //end of void button1_actionPerformed}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -