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

📄 serverframe.java

📁 网络聊天程序
💻 JAVA
字号:
package Java.ICQ;

import javax.swing.*;
import java.net.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;

public class ServerFrame extends JFrame implements Runnable
{
	JPanel panel;
	JButton buttonServerStart,buttonServerStop;
	Thread thread;
	ServerSocket server;
	Socket socket;
	
	public ServerFrame()
	{
		initFrame();
		
	}
	public void initFrame()
	{
		panel = new JPanel();
		this.getContentPane().add(panel);
		panel.setLayout(null);
		
		buttonServerStart = new JButton("开始服务");
		buttonServerStop = new JButton("停止服务");
		
		buttonServerStart.setBounds(new Rectangle(20,20,100,40));
		buttonServerStop.setBounds(new Rectangle(150,20,100,40));
		
		panel.add(buttonServerStart);
		panel.add(buttonServerStop);
		
		buttonServerStop.setEnabled(false);
		
		
		buttonServerStart.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				buttonServerStart_actionPerformed();
			}
		});
		buttonServerStop.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				buttonServerStop_actionPerformed();
			}
		});
	}
	public void buttonServerStart_actionPerformed()
	{
		    	try
		    	{
		    	    server=new ServerSocket(8080);//在8080端口创建套接口
		            System.out.println("Server 开始.."+server);
		    		thread = new Thread(this);
		    		thread.start();
		    	}
		       	catch(Exception ee)
		     	{
		     		System.out.println("错误");
		     	}
		         buttonServerStart.setEnabled(false);
	     	     buttonServerStop.setEnabled(true);
		    
			
	}
	public void buttonServerStop_actionPerformed()
	{
		   ExceptionFunction();
		   System.out.println("Server 停止.."+server);
		   buttonServerStart.setEnabled(true);
		   buttonServerStop.setEnabled(false);
	}
	public void run()
	{
		
	  		 while(thread!=null)
			   {
			   	try
			   	{
			   	 socket=server.accept();//无限监听客户的请求
			     System.out.println("开始监听来自客户的请求:"+socket);
			     ServerCustomer SC = new ServerCustomer(socket);//创建新线程
			     thread.sleep(1500L);
			     }
			    catch(InterruptedException interruptedexception)
			    {
			    	ExceptionFunction();
                }
                catch(IOException ioexception)
                {
                	ExceptionFunction();
                }
		       }
   
  
	}
	public void ExceptionFunction()
	{
		 if(thread!=null)
		    {
		    	thread.stop();
		    	thread=null;
		    }
		    try
		    {
		    	if(server!=null)
		           {
		          	server.close();
		   		    server=null;
		        	}
		    }
		    catch(IOException ioexception) { }
	}
	//主服务器类
	public static void main(String args[])
	{
		try
   	    {
   	 	   UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        }
        catch(Exception e) 
        {
          e.printStackTrace();
        }
		ServerFrame frame = new ServerFrame();
		frame.setTitle("海夸Java聊天程序服务端");
		frame.setSize(300,120);
		frame.setResizable(false);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);

     }
}//服务器程序结束

⌨️ 快捷键说明

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