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

📄 chatserver.java

📁 一个可以点对点聊天的JAVA小程序
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.util.*;
import java.net.*;

import javax.swing.*;

public class ChatServer extends JFrame implements Runnable
{   private static JScrollPane jspCenter;
    private static JTextArea jtReceive;
    private static JButton jbStop;
    private static JPanel jpBottom;
    private static JLabel jlAdvertisement;
    private static String strEndLine;
    
	public ChatServer(String title)
    {  
		super(title);
		strEndLine=System.getProperty("line.separator");
		jtReceive = new JTextArea();
		jtReceive.setEditable(false);
		jspCenter = new JScrollPane(jtReceive);
		jbStop = new JButton("Stop");
		jbStop.addActionListener(new ActionListener()
							         {  
							            public void actionPerformed(ActionEvent event)
							            {  
							               jtReceive.append("Stop!" + strEndLine);							              
							            }
							         }
		                        );
		jpBottom = new JPanel();
		jpBottom.add(jbStop,BorderLayout.CENTER);
		jlAdvertisement = new JLabel("Welcome!"); 
		getContentPane().add(jlAdvertisement,BorderLayout.NORTH);
		getContentPane().add(jspCenter,BorderLayout.CENTER);
		getContentPane().add(jpBottom,BorderLayout.SOUTH);
    }
    
	public void run()
	{
   		jtReceive.append("running ... ..." + strEndLine);
   		while (true)
   		{
   		    receiveMessage();
   		}
	}
	
	public static void receiveMessage()
    {
      try 
      {
        DatagramSocket ds=new DatagramSocket(6000);
        byte[] buf=new byte[100];
        DatagramPacket dp=new DatagramPacket(buf,100);
        ds.receive(dp);
        jtReceive.append(new String(buf,0,dp.getLength())  + strEndLine);
        String str="Welcome you!";
        DatagramPacket dpSend=new DatagramPacket(str.getBytes(),str.length(),dp.getAddress(),dp.getPort());
        ds.send(dpSend);
        ds.close();
      }
      catch (Exception ex) 
      {
        ex.printStackTrace();
      }
    }
	
	public static void main(String[] args) 
	{
		ChatServer jfChatServer =new ChatServer("ChatSever");
		jfChatServer.setSize(500,400);
		jfChatServer.setLocation(300,200);
		jfChatServer.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		jfChatServer.setVisible(true);
		new Thread(jfChatServer).start();

	}

}

⌨️ 快捷键说明

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