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

📄 beijing.java

📁 有关JAVA的SOCKET通讯的源码,主要是基本的通用的代码格式
💻 JAVA
字号:
package socket.test.udp;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2005</p> * <p>Company: </p> * @author not attributable * @version 1.0 */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("192.168.0.98");//对方的IP或主机名            //数据包的目标端口是666(那么收方(上海)需在这个端口接收):            DatagramPacket data_pack=new DatagramPacket(buffer,buffer.length, address,666);            DatagramSocket mail_data=new DatagramSocket();            in_message.append("数据报目标主机地址:"+data_pack.getAddress()+"\n");//是自己的IP            in_message.append("数据报目标端口是:"+data_pack.getPort()+"\n");            in_message.append("数据报长度:"+data_pack.getLength()+"\n");            mail_data.send(data_pack);         }       catch(Exception e){}   }//-------------------------------------run函数捕获数据报-----------------------------------------//   public void run()   {  DatagramSocket mail_data=null;      byte data[]=new byte[8192];      DatagramPacket pack=null;                         //packet是信息包,发送就用DatagramSocket     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");                in_message.append("来自北京");              }           catch(Exception e){}       }   }}public class Beijing{   public static void main(String args[])   {  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 + -