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

📄 server.java

📁 连接测试系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
	    		 return i;	    	 } 	     }	     return -1;	  }		private void initGUI() {		try {			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);			this.setTitle("\u8054\u673a\u6d4b\u8bd5\u7cfb\u7edf\u670d\u52a1\u5668");			getContentPane().setLayout(null);			{				serverMenuBar = new JMenuBar();				setJMenuBar(serverMenuBar);				{					fileMenu = new JMenu();					serverMenuBar.add(fileMenu);					fileMenu.setText("\u6587\u4ef6");					fileMenu.setPreferredSize(new java.awt.Dimension(33, 30));					{						startmenuitem = new JMenuItem();						fileMenu.add(startmenuitem);						startmenuitem.setText("\u542f\u52a8");						startmenuitem.setBounds(0, 0, 27, 23);						startmenuitem.addActionListener(new ActionListener() {							public void actionPerformed(ActionEvent evt) {								startbuttonActionPerformed(evt);								startbutton.setEnabled(false);								startmenuitem.setEnabled(false);								stopbutton.setEnabled(true);								stopmenuitem.setEnabled(true);							}						});					}					{						stopmenuitem = new JMenuItem();						fileMenu.add(stopmenuitem);						stopmenuitem.setText("\u505c\u6b62");						stopmenuitem.setBounds(0, 0, 27, 23);						stopmenuitem.setEnabled(false);						stopmenuitem.addActionListener(new ActionListener() {							public void actionPerformed(ActionEvent evt) {								stopbuttonActionPerformed(evt);								startbutton.setEnabled(true);								startmenuitem.setEnabled(true);								stopbutton.setEnabled(false);								stopmenuitem.setEnabled(false);							}						});					}					{						exitmenuitem = new JMenuItem();						fileMenu.add(exitmenuitem);						exitmenuitem.setText("\u9000\u51fa");						exitmenuitem.setBounds(0, 0, 27, 23);						exitmenuitem.setName("exitmenuitem");						exitmenuitem.addActionListener(new ActionListener() {							public void actionPerformed(ActionEvent evt) {								exitmenuitemActionPerformed(evt);							}						});					}															helpmenu = new JMenu();					serverMenuBar.add(helpmenu);					helpmenu.setText("\u5e2e\u52a9");					helpmenu.setBounds(27, 0, 27, 23);					helpmenu.setPreferredSize(new java.awt.Dimension(33, 30));					{						aboutmenuitem = new JMenuItem();						helpmenu.add(aboutmenuitem);						aboutmenuitem.setText("关于");						aboutmenuitem.setBounds(27, 0, 27, 23);						aboutmenuitem.setName("aboutmenuitem");					}									}			}			{				usersinfolabel = new JLabel();				getContentPane().add(usersinfolabel);				usersinfolabel.setText("\u5f53\u524d\u5728\u7ebf\u7528\u6237\u4fe1\u606f");				usersinfolabel.setBounds(9, 35, 127, 15);			}			{								LogTextArea = new JTextArea();				LogTextArea.setEditable(false);				JScrollPane scrp=new JScrollPane(LogTextArea);				getContentPane().add(scrp);				scrp.setBounds(252, 53, 305, 203);			}			{				loglabel = new JLabel();				getContentPane().add(loglabel);				loglabel.setText("\u65e5\u5fd7\u8bb0\u5f55");				loglabel.setBounds(252, 31, 57, 21);			}			{				oltsToolBar = new JToolBar();				getContentPane().add(oltsToolBar);				oltsToolBar.setBounds(0, 0, 100, 30);				{					startbutton=new JButton(new ImageIcon("images/start.png"));					oltsToolBar.add(startbutton);					startbutton.setToolTipText("\u542f\u52a8\u670d\u52a1\u5668");					startbutton.addActionListener(new ActionListener() {						public void actionPerformed(ActionEvent evt) {							startbuttonActionPerformed(evt);							startbutton.setEnabled(false);							startmenuitem.setEnabled(false);							stopbutton.setEnabled(true);							stopmenuitem.setEnabled(true);						}					});				}				{					stopbutton=new JButton(new ImageIcon("images/stop.png"));					oltsToolBar.add(stopbutton);					stopbutton.setEnabled(false);					stopbutton.setToolTipText("\u5173\u95ed\u670d\u52a1\u5668");					stopbutton.addActionListener(new ActionListener() {						public void actionPerformed(ActionEvent evt) {							stopbuttonActionPerformed(evt);							startbutton.setEnabled(true);							startmenuitem.setEnabled(true);							stopbutton.setEnabled(false);							stopmenuitem.setEnabled(false);						}					});				}				{					helpbutton=new JButton(new ImageIcon("images/help.png"));					oltsToolBar.add(helpbutton);					helpbutton.setToolTipText("\u5e2e\u52a9");					helpbutton.addActionListener(new ActionListener() {						public void actionPerformed(ActionEvent evt) {							helpbuttonActionPerformed(evt);						}					});				}			}			{				tableScrollPane = new JScrollPane();				getContentPane().add(tableScrollPane);				tableScrollPane.setBounds(12, 54, 220, 201);				{					model=new DefaultTableModel(){public boolean isCellEditable(int row,int col){return false;}};					model.addColumn("用户名");					model.addColumn("身份");					ActiveClientInfoTable = new JTable(model);					tableScrollPane.setViewportView(ActiveClientInfoTable);					ActiveClientInfoTable.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));				}			}			pack();			this.setSize(565, 334);			this.setResizable(false);		} catch (Exception e) {			e.printStackTrace();		}	}		private void exitmenuitemActionPerformed(ActionEvent evt) {		//向客户端发送断开连接信息		    sendClients(new StringBuffer("QUIT"));                   		closeAll();//调用closeAll方法关闭所有连接                                               		System.exit(0);	}		private void stopbuttonActionPerformed(ActionEvent evt) {		//向客户端发送断开连接信息		    sendClients(new StringBuffer("QUIT"));                   		closeAll();//调用closeAll方法关闭所有连接    		WriteToLog("已经停止服务器...\n");		System.out.println("已经停止服务器...\n");	}		private void helpbuttonActionPerformed(ActionEvent evt) {		//向客户端发送断开连接信息		//    sendClients(new StringBuffer("QUIT"));                   	//	closeAll();//调用closeAll方法关闭所有连接    		WriteToLog("help...\n");	}		private void startbuttonActionPerformed(ActionEvent evt) {		//System.out.println("startbutton.actionPerformed, event="+evt);		//TODO add your code for startbutton.actionPerformed		System.out.println("正在启动服务器...");		WriteToLog("正在启动服务器...\n");	    try		   {	    	if(server!=null&&!server.isClosed())	    		server.close();	    	server=new ServerSocket(5000);	    	WriteToLog("服务器已经启动\n");  	    	new ServerAcceptThread().start();		}		catch(IOException e)		{		    System.out.println("Error:"+e.getMessage());		    WriteToLog("Error:"+e+"\n");		}	}		class ServerAcceptThread extends Thread{		public void run(){			while(true)			{				if(server==null||server.isClosed())					break;			   //当客户数小于10个时开始连接			    if(clients.size()<10)       				   {					    try						   {							    socket=server.accept();							    if(socket!=null)							    {							    	//定义并实例化一个Client线程类,一个就对应一个客户连接								    Client c=new Client(socket); 								    clients.addElement(c);//加入clients数组中							    	if(legalCheck(c))//调用checkName方法验证c的合法性							    	{							    		int index=usertablecontain(c);							    		if(index==-1){								    		c.send(new StringBuffer("LOGINSUCC"));								    		model.addRow(new String[]{c.name,c.status});								    		//在控制台打印客户连接信息											    WriteToLog(c.status+":"+c.name+"---连接\n");										    c.start();//启动线程							    		}							    		else {							    			c.send(new StringBuffer("ALREADYONLINE"));							    			WriteToLog(c.status+":"+c.name+"---重复连接\n");							    			socketdisconnect(c);							    		}							    	}							    	else 							    	{							    		c.send(new StringBuffer("LOGINFAIL"));							    		WriteToLog(c.status+":"+c.name+"---登录信息验证失败\n");							    		socketdisconnect(c);							    	}							    }						   }							catch(IOException e)							{							 //   System.out.println("Error:"+e);							 //   if(server!=null&&!server.isClosed())							    	WriteToLog("Error:"+e+"\n");							}															}			}		}	}}

⌨️ 快捷键说明

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