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

📄 b地.java

📁 用java实现简单的:简单聊天程序 多线程 计数器 记事本 马鞍点 扇子 学生成绩管理系统 异常处理 字符串类
💻 JAVA
字号:
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;
//主机一
class shanghai_Frame extends Frame implements Runnable,ActionListener{
     TextField out_message=new TextField("发数据到北京");	
	   TextArea in_message=new TextArea();
	   Button b=new Button("发数据到北京");
	   shanghai_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 run(){
	        DatagramPacket pack=null;
	        DatagramSocket mail_data=null;
	        byte data[]=new byte[8192];
	        try{
	             pack=new DatagramPacket(data,data.length);
	             //使用端口666来接收数据(因为北京发来的数据报的目标端口是666)
	             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 void actionPerformed(ActionEvent event){
	        byte buffer[]=out_message.getText().trim().getBytes();
	        try{
	        	   InetAddress address=InetAddress.getByName("localhost");
	        	   //数据的目标端口是888(那么接收方需要在这个端口接收)
	        	   DatagramPacket pack=new DatagramPacket(buffer,buffer.length,address,888);
	        	   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 class B地{
     public static void main(String arges[]){
          shanghai_Frame shanghai_win=new shanghai_Frame();	
     	    shanghai_win.addWindowListener(new WindowAdapter(){
     	         public void windowClosing(WindowEvent e){
     	              System.exit(0);	    
     	         }    	    	
     	    });
     	    shanghai_win.pack();
     }	
}

⌨️ 快捷键说明

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