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

📄 主机1.java

📁 实现主机1与主机2之间互发消息 欢迎大家下载
💻 JAVA
字号:
package 主机1;
import java.net.*;
import javax.swing.*; 
import java.awt.event.*;
class 主机1Frame extends JFrame implements Runnable,ActionListener
{  JTextField out_message=new JTextField("发送数据到主机2:");
   JTextArea in_message=new JTextArea(); 
   JButton b=new JButton("发送数据包到主机2");
   主机1Frame()
   {  super("我是主机1");
      setSize(200,200);setVisible(true);
      b.addActionListener(this);
      add(out_message,"South");add(in_message,"Center");add(b,"North");
      Thread thread=new Thread(this);
      thread.start();//线程负责接收数据包
   }
   public void actionPerformed(ActionEvent event) //点击按扭发送数据包
   {  byte buffer[]=out_message.getText().trim().getBytes();
      try{  InetAddress address=InetAddress.getByName("192.168.5.1");
DatagramPacket data_pack=
new DatagramPacket(buffer,buffer.length, address,888);
            DatagramSocket mail_data=new DatagramSocket();
            in_message.append("数据报目标主机地址:"+data_pack.getAddress()+"\n");
            in_message.append("数据报目标端口是:"+data_pack.getPort()+"\n");
            in_message.append("数据报长度:"+data_pack.getLength()+"\n");
            mail_data.send(data_pack);
          }
      catch(Exception e){}     
   } 
   public void run() //接收数据包
   {  DatagramPacket pack=null;
      DatagramSocket mail_data=null;
      byte data[]=new byte[8192];
      try{  pack=new DatagramPacket(data,data.length);
            mail_data=new DatagramSocket(666);
         }
      catch(Exception e){} 
      while(true)   
         {  if(mail_data==null) break;
            else
               try{  mail_data.receive(pack); 
                     int length=pack.getLength();
                     InetAddress adress=pack.getAddress();
                     int port=pack.getPort();
                     String message=new String(pack.getData(),0,length);
                     in_message.append("收到数据长度:"+length+"\n");
                     in_message.append("收到数据来自:"+adress+"端口:"+port+"\n");
                     in_message.append("收到数据是:"+message+"\n");
                  }
               catch(Exception e){}
         } 
   }
}
public class 主机1
{  public static void main(String args[])
   {  主机1Frame 主机1win=new 主机1Frame();
      主机1win.validate();
   }
}

⌨️ 快捷键说明

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