⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 例11-7.txt

📁 Java大学实用教程 耿祥义编著 课件 PPT
💻 TXT
字号:
主机1:
import java.net.*;
import java.awt.*; 
import java.awt.event.*;
import javax.swing.*;
class A extends JFrame implements Runnable,ActionListener
{  
   JTextField outMessage=new JTextField(12);
   JTextArea inMessage=new JTextArea(12,20); 
   JButton b=new JButton("发送数据");
   A()
   {  
      super("I AM A");
      setSize(320,200);
      setVisible(true);
      JPanel p=new JPanel();
      b.addActionListener(this);
      p.add(outMessage);
      p.add(b);
      Container con=getContentPane();
      con.add(new JScrollPane(inMessage),BorderLayout.CENTER);
      con.add(p,BorderLayout.NORTH);
      Thread thread=new Thread(this);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      validate(); 
      thread.start();                                   //线程负责接收数据。
   }
  public void actionPerformed(ActionEvent event)        //点击按扭发送数据。
   { 
      byte b[]=outMessage.getText().trim().getBytes();
      try{ 
            InetAddress address=InetAddress.getByName("127.0.0.1");
            DatagramPacket data=new DatagramPacket(b,b.length,address,1234);
            DatagramSocket mail=new DatagramSocket();
            mail.send(data);
          }
      catch(Exception e){}     
   } 
  public void run()                                //接收数据。
   {  
      DatagramPacket pack=null;
      DatagramSocket mail=null;
      byte b[]=new byte[8192];
      try{ 
            pack=new DatagramPacket(b,b.length);
            mail=new DatagramSocket(5678);
         }
      catch(Exception e){} 
      while(true)   
         {  
           try{  mail.receive(pack); 
                 String message=new String(pack.getData(),0,pack.getLength());
                 inMessage.append("收到数据来自:"+pack.getAddress());
                 inMessage.append("\n收到数据是:"+message+"\n");
                 inMessage.setCaretPosition(inMessage.getText().length());
              }
          catch(Exception e){}
         } 
   }
 public static void main(String args[])
   {
       new A();
   }
}  
主机2:
import java.net.*;
import java.awt.*; 
import java.awt.event.*;
import javax.swing.*;
class B extends JFrame implements Runnable,ActionListener
{  
   JTextField outMessage=new JTextField(12);
   JTextArea inMessage=new JTextArea(12,20); 
   JButton b=new JButton("发送数据");
   B()
   {  
      super("I AM B");
      setBounds(350,100,320,200);
      setVisible(true);
      JPanel p=new JPanel();
      b.addActionListener(this);
      p.add(outMessage);
      p.add(b);
      Container con=getContentPane();
      con.add(new JScrollPane(inMessage),BorderLayout.CENTER);
      con.add(p,BorderLayout.NORTH);
      Thread thread=new Thread(this);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      validate(); 
      thread.start();                                   //线程负责接收数据。
   }
  public void actionPerformed(ActionEvent event)        //点击按扭发送数据。
   { 
      byte b[]=outMessage.getText().trim().getBytes();
      try{ 
            InetAddress address=InetAddress.getByName("127.0.0.1");
            DatagramPacket data=new DatagramPacket(b,b.length,address,5678);
            DatagramSocket mail=new DatagramSocket();
            mail.send(data);
          }
      catch(Exception e){}     
   } 
  public void run()                                //接收数据。
   {  
      DatagramPacket pack=null;
      DatagramSocket mail=null;
      byte b[]=new byte[8192];
      try{ 
            pack=new DatagramPacket(b,b.length);
            mail=new DatagramSocket(1234);
         }
      catch(Exception e){} 
      while(true)   
         {  
           try{  mail.receive(pack); 
                 String message=new String(pack.getData(),0,pack.getLength());
                 inMessage.append("收到数据来自:"+pack.getAddress());
                 inMessage.append("\n收到数据是:"+message+"\n");
                 inMessage.setCaretPosition(inMessage.getText().length());
              }
          catch(Exception e){}
         } 
   }
 public static void main(String args[])
   {
       new B();
   }
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -