📄 server.java
字号:
package server;
import java.lang.*;
import java.util.*;
import java.sql.*;
import java.net.*;
import java.io.*;
import javax.swing.*;
import java.awt.List;
public class Server extends javax.swing.JFrame implements Runnable{
public static final int PORT = 2009;
private ServerSocket listensocket;
private boolean shutdown=false;
private boolean ifsoftlogin=false;
private boolean ifinvestlogin=false;
private boolean ifbanklogin=false;
public String BankIP;
public String InvestIP;
public String SoftwareIP;
public Vector vector; //保存在线用户信息
public Server() {
initComponents();
this.setLocation(400,150);
try{
listensocket = new ServerSocket(PORT);
}
catch(Exception e)
{
System.out.println("Server initial"+e.toString());
}
vector=new Vector();
Thread t=new Thread(this);
t.start();
}
public void run()
{
while(!shutdown)
{
try{
Socket socket=listensocket.accept();
if(socket!=null)
{
BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out=new PrintWriter(socket.getOutputStream(),true);
ServerProcess process=new ServerProcess(socket,this,in,out);
process.start();
}
}
catch(Exception e)
{
System.out.println("Server Run"+e.toString());
}
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////
// 服务端信息设置
public boolean IfSoftLogin()
{
return ifsoftlogin;
}
public boolean IfInvestLogin()
{
return ifinvestlogin;
}
public boolean IfBankLogin()
{
return ifbanklogin;
}
public void SetSoftLogin(boolean b)
{
ifsoftlogin=b;
}
public void SetInvestLogin(boolean b)
{
ifinvestlogin=b;
}
public void SetBankLogin(boolean b)
{
ifbanklogin=b;
}
public void AddCleint(String s)
{
list.add(s);
}
public void MoveClient(int index)
{
list.remove(index);
}
public void AddWords(String s)
{
list1.add(s);
}
public void AddAction(String s)
{
list2.add(s);
}
public int NumWords()
{
return list1.getItemCount();
}
public int NumClient()
{
return list.getItemCount();
}
public int NumAction()
{
return list2.getItemCount();
}
public String GetWords(int index)
{
return list1.getItem(index);
}
public String GetClient(int index)
{
return list.getItem(index);
}
public String GetAction(int index)
{
return list2.getItem(index);
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////
// <editor-fold defaultstate="collapsed" desc=" 生成的代码 ">//GEN-BEGIN:initComponents
private void initComponents() {
list = new java.awt.List();
jLabel1 = new javax.swing.JLabel();
jButton_cancel = new javax.swing.JButton();
list1 = new java.awt.List();
jLabel2 = new javax.swing.JLabel();
list2 = new java.awt.List();
jLabel3 = new javax.swing.JLabel();
jMenuBar1 = new javax.swing.JMenuBar();
setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
setTitle("\u670d\u52a1\u5668\u7ba1\u7406");
list.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
listItemStateChanged(evt);
}
});
jLabel1.setText("\u5df2\u767b\u9646\u7528\u6237");
jButton_cancel.setText("\u9000\u51fa");
jButton_cancel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jButton_cancelMouseClicked(evt);
}
});
jLabel2.setText("\u804a\u5929\u4fe1\u606f:");
jLabel3.setText("\u76d1\u542c");
setJMenuBar(jMenuBar1);
org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.add(20, 20, 20)
.add(list, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 85, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(layout.createSequentialGroup()
.add(30, 30, 30)
.add(jLabel1)))
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(list1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 170, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(layout.createSequentialGroup()
.add(63, 63, 63)
.add(jLabel2)))
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.add(29, 29, 29)
.add(list2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 181, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(layout.createSequentialGroup()
.add(81, 81, 81)
.add(jLabel3))))
.add(layout.createSequentialGroup()
.add(33, 33, 33)
.add(jButton_cancel)))
.addContainerGap(28, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addContainerGap()
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabel2)
.add(jLabel3)
.add(jLabel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 24, Short.MAX_VALUE))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
.add(org.jdesktop.layout.GroupLayout.LEADING, list2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 282, Short.MAX_VALUE)
.add(org.jdesktop.layout.GroupLayout.LEADING, list1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 282, Short.MAX_VALUE)
.add(org.jdesktop.layout.GroupLayout.LEADING, list, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 282, Short.MAX_VALUE))
.add(19, 19, 19)
.add(jButton_cancel)
.add(37, 37, 37))
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void listItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_listItemStateChanged
int index=list.getSelectedIndex();
String account=list.getItem(index);
for(int i=0;i<vector.size();i++)
{
ClientInfo clientinfo=(ClientInfo)vector.get(i);
if(account.equals(clientinfo.ReturnAccount()))
{
String message="帐号:"+clientinfo.ReturnAccount()+"\n呢称:"
+clientinfo.ReturnName()+"\nIP:"+clientinfo.ReturnIP()+
"\n端口:"+clientinfo.ReturnPort();
JOptionPane.showMessageDialog(this,message);
break;
}
}
}//GEN-LAST:event_listItemStateChanged
private void jButton_cancelMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton_cancelMouseClicked
shutdown=true;
try{
if(listensocket!=null)
{
listensocket.close();
}
}
catch(IOException e)
{
System.out.println("Server Cancel"+e.toString());
}
this.dispose();
}//GEN-LAST:event_jButton_cancelMouseClicked
// 变量声明 - 不进行修改//GEN-BEGIN:variables
private javax.swing.JButton jButton_cancel;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JMenuBar jMenuBar1;
private java.awt.List list;
private java.awt.List list1;
private java.awt.List list2;
// 变量声明结束//GEN-END:variables
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -