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

📄 a地.java

📁 用java实现简单的:简单聊天程序 多线程 计数器 记事本 马鞍点 扇子 学生成绩管理系统 异常处理 字符串类
💻 JAVA
字号:
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;
//主机二
class beijing_Frame extends Frame implements Runnable,ActionListener{
	   TextField out_message=new TextField("发送数据到上海 ");
	   TextArea in_message=new TextArea();
	   Button b=new Button("发送数据到上海");
	   beijing_Frame(){
	        super("我是北京");
	        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("localhost");
	   	    	   //数据的目标端口是666(那么接收方需要在这个端口接收)
	        	   DatagramPacket pack=new DatagramPacket(buffer,buffer.length,address,666);
	        	   DatagramSocket mail_data=new DatagramSocket();
	        	   in_message.append("数据报目标主机地址:"+pack.getAddress()+"\n");
	        	   in_message.append("数据报目标端口是:"+pack.getPort()+"\n");
	        	   in_message.append("数据报长度:"+pack.getLength()+"\n");
	        	   mail_data.send(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);
	             //使用端口888来接收数据(因为北京发来的数据报的目标端口是888)
	             mail_data=new DatagramSocket(888);	        	
	        }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){}        	
	        }
	   }
}//beijing_Frame

public class A地{
     public static void main(String arges[]){
          beijing_Frame beijing_win=new beijing_Frame();	
     	    beijing_win.addWindowListener(new WindowAdapter(){
     	         public void windowClosing(WindowEvent e){
     	              System.exit(0);	    
     	         }    	    	
     	    })
     	    beijing_win.pack();
     }	
}

⌨️ 快捷键说明

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