shanghai2.java

来自「java编写的两台机器通过UDP数据报发送和接受,类似于QQ的程序」· Java 代码 · 共 74 行

JAVA
74
字号
import java.net.*;
import java.awt.*;
import java.awt.event.*;
class Shanghaiwin extends Frame implements Runnable,ActionListener
{
	Button bt;TextField field;TextArea area;Thread thread;
	Shanghaiwin()
	{
		super("我是上海");
		bt=new Button("发送数据");
		field=new TextField("发送数据到北京");
		area=new TextArea();
		add(bt,"North");add(area,"Center");add(field,"South");
		bt.addActionListener(this);
		thread=new Thread(this);
		thread.start();
	}
	public void actionPerformed(ActionEvent event)   //发送数据
	{
		byte b[]=field.getText().trim().getBytes();
		try
		{
			InetAddress address=InetAddress.getByName("localhost");
			DatagramPacket packet=new DatagramPacket(b,b.length,address,888);
			DatagramSocket socket=new DatagramSocket();
			socket.send(packet);
		}
		catch(Exception ew)
		{
		}
	}
	public void run()  //接收数据
	{
		DatagramPacket receive=null;
		DatagramSocket port=null;
		byte buf[]=new byte[1024];
		try
		{
			receive=new DatagramPacket(buf,buf.length);
			port=new DatagramSocket(666);
		}
		catch(Exception ew){}
		while(true)
		{
			if(port==null)
			break;
			else
			try
			{
				port.receive(receive);
				int length=receive.getLength();
				String message=new String(receive.getData(),0,length);
				area.append(""+message+"\n");
			}
			catch(Exception ew){}
		}
	}
}
public class Shanghai2
{
	public static void main(String[] args)
	{
		Shanghaiwin win=new Shanghaiwin();
		win.addWindowListener(new WindowAdapter()
		                                       {
		                                       	   public void windowClosing(WindowEvent e)
		                                       	   {
		                                       	   	   System.exit(0);
		                                       	   }
		                                       });
	    win.setBounds(50,50,300,200);
	    win.setVisible(true);	                                       
	}
}

⌨️ 快捷键说明

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