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

📄 chat.java

📁 单个网络聊天程序!值得初学网络编程人员的分析!
💻 JAVA
字号:
package chat;

import java.awt.*;
import java.awt.event.*;
import java.net.*;

public class chat extends Frame {
	List lst=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){
			e.printStackTrace();
		}
		
		this.add(lst,"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);
				lst.add(/*dp.getData()*/new String(buf,0,dp.getLength())
					+" form "+dp.getAddress().getHostAddress()+":"+dp.getPort(),0);
					}
					catch(Exception e)	{
						if(!ds.isClosed()){
							e.printStackTrace();
						}
					
					}
				}
			}
			}).start();
		
		
		tfdata.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e)
			{
				byte [] buf;
				buf=tfdata.getText().getBytes();
				try{
				
				DatagramPacket dp=new DatagramPacket(buf,buf.length,
					InetAddress.getByName(tfip.getText()),3000);
				ds.send(dp);
				tfdata.setText("");
				}
				catch(Exception ex){
					ex.printStackTrace();
					
				}
			}
		});
		
		addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e){
				ds.close();
				dispose();
				System.exit(0);
				
			}
		});
	}

	public static void main(String[] args) {
		// TODO: Add your code here
		System.out.println("Starting chat,,,,,,");
		chat mainFrame=new chat();
		mainFrame.setSize(300,400);
		mainFrame.setTitle("Chat");
		mainFrame.setVisible(true);
		mainFrame.setResizable(false);
		
	}

	
		
}

⌨️ 快捷键说明

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