📄 loginthread.java
字号:
package com.server;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.sql.ResultSet;
class LoginThread implements Runnable
{
private static Socket socket;
private static Socket clientSocket;
private static ServerSocket serverSocket;
private static ObjectOutputStream out;
private static ObjectInputStream in;
private static String[] fromClientMessage;
private static String[] toClientMessage;
private static String[] friendsArray;
private static String acounts;
private static String password;
private static String sqlStr;
private static String friends;
private static String clientIP;
private static ResultSet rs;
public LoginThread(Socket socket)
{
this.socket=socket;
}
public void run()
{
try
{
Dao dao=new Dao();
out=new ObjectOutputStream(socket.getOutputStream());
in=new ObjectInputStream(socket.getInputStream());
fromClientMessage=(String[])in.readObject();
acounts=fromClientMessage[0];
password=fromClientMessage[1];
sqlStr="select * from usergrade where acounts='"+acounts+"' and password='"+password+"'";;
rs=dao.query(sqlStr);
if(rs.next())
{
friends=rs.getString("friends");
//friends.replaceAll(",,",",");
friendsArray=friends.split(",");
toClientMessage=new String[friendsArray.length+1];
toClientMessage[0]="success";
for(int i=0;i<friendsArray.length;i++)
{
sqlStr="select ip from usergrade where acounts='"+friendsArray[i]+"'";
rs=dao.query(sqlStr);
rs.next();
toClientMessage[i+1]=friendsArray[i]+"!"+rs.getString("ip");
}
out.writeObject(toClientMessage);
out.flush();
clientIP=socket.getInetAddress().toString();
clientIP=clientIP.substring(1);
sqlStr="update usergrade set ip='"+clientIP+"'where acounts='"+acounts+"'";
dao.update(sqlStr);
serverSocket=new ServerSocket(7777);
while(true)
{
clientSocket=serverSocket.accept();
ClientThread clientThread=new ClientThread(clientSocket);
Thread thread=new Thread(clientThread);
thread.start();
}
}
else
{
toClientMessage=new String[1];
toClientMessage[0]="failed";
}
out.writeObject(toClientMessage);
out.flush();
}catch(Exception e){}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -