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

📄 chat.java

📁 java 通讯程序
💻 JAVA
字号:
import java.net.*;
import java.awt.*;
import java.awt.event.*;

class Chat extends Frame {
	List list=new List(6);
	TextField tfIP=new TextField(15);
	TextField tfDATA=new TextField(20);
	DatagramSocket ds=null;
	public Chat() {
		try{
			ds=new DatagramSocket(3000);
		}catch(Exception e){}
		this.add(list,"Center");
		Panel p=new Panel();
		this.add(p,"South");
		
		p.setLayout(new BorderLayout());
		p.add(tfIP,"West");
		p.add(tfDATA,"East");
		
		new Thread(new Runnable()
		{
		   public void run()
		   {
		   	    byte buf[]=new byte[1024];
		   	    DatagramPacket dp=new DatagramPacket(buf,1024);
		   	    while(true)
		   	    {
		   	    	try{
		   	    		ds.receive(dp);
		   	    	    list.add(new String(/*dp.getData()*/buf,0,dp.getLength()) 
		   	    	                 +"  来自:"+dp.getAddress().getHostAddress()+" :"+dp.getPort(),0);
		   	           }catch(Exception ex)
		   	             {
		   	             	if(!ds.isClosed())
		   	             	{
		   	             		ex.printStackTrace();
		   	             	}
		   	             }
		   	    }
		   }
		}).start();
		tfDATA.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				byte [] buf=tfDATA.getText().getBytes();
				try{
				DatagramPacket dp=new DatagramPacket(buf,buf.length,
				                      InetAddress.getByName(tfIP.getText()),3000);
				ds.send(dp);
				list.add(new String(/*dp.getData()*/buf,0,dp.getLength()),0);
			    }catch(Exception ex){ex.printStackTrace();}
				tfDATA.setText("");
			}
		});
		addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
			    ds.close();
				dispose();
				System.exit(0);
			}
		});
	}

	public static void main(String args[]) {
		System.out.println("Starting Chat...");
		Chat mainFrame = new Chat();
		mainFrame.setSize(300, 400);
		mainFrame.setTitle("简简单单聊天");
		mainFrame.setVisible(true);
		mainFrame.setResizable(false);
	}
}

⌨️ 快捷键说明

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