📄 clientlogin.java
字号:
package server;
import java.io.*;
import java.sql.*;
import java.sql.Connection;
import java.net.*;
import java.lang.String;
import java.util.StringTokenizer;
public class ClientLogin {
private Connection connection=null;
private PreparedStatement statement=null;
private Server frameserver;
private Socket socket;
private String command;
private String saveaccount;
public ClientLogin(String command_,Server frameserver_,Socket socket_) {
frameserver=frameserver_;
command=command_;
socket=socket_;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
connection=DriverManager.getConnection("jdbc:odbc:Account");
String sql="select* from Account";
statement=connection.prepareStatement(sql);
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
public String Validate()
{
StringTokenizer st=new StringTokenizer(command,"/");
st.nextToken();
String account=st.nextToken();
String code=st.nextToken();
if(IfOnline(account))
{
try{
connection.close();
statement.close();
socket=null;
}
catch(Exception e)
{
System.out.println(e.toString());
}
return "already";
}
try{
ResultSet result=statement.executeQuery();
while(result.next())
{
String a=result.getString("帐号");
String c=result.getString("密码");
String n=result.getString("名称");
if(account.equals(a)&&code.equals(c))
{
InetAddress inet=socket.getInetAddress();
ClientInfo clientinfo=new ClientInfo(n,inet.getHostAddress(),socket.getPort(),account,socket,code);
frameserver.vector.add(clientinfo);
frameserver.AddCleint(clientinfo.ReturnAccount());
connection.close();
statement.close();
frameserver.AddAction("用户登陆成功");
frameserver.AddAction("用户"+account+"进入大厅"+" IP: "+inet.getHostAddress()+" 端口:"+socket.getPort());
if(account.equals("bank"))
{
frameserver.BankIP=inet.getHostAddress();
}
if(account.equals("invest"))
{
frameserver.InvestIP=inet.getHostAddress();
}
if(account.equals("software"))
{
frameserver.SoftwareIP=inet.getHostAddress();
}
socket=null;
return "success";
}
}
result=null;
}
catch(Exception e)
{
System.out.println(e.toString());
}
try{
connection.close();
statement.close();
socket=null;
}
catch(Exception e)
{
System.out.println(e.toString());
}
return "failure";
}
public boolean IfOnline(String account_)
{
for(int i=0;i<frameserver.NumClient();i++)
{
if(frameserver.GetClient(i).equals(account_))
{
return true;
}
}
return false;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -