📄 serverthread.java
字号:
package com.li.myqq.server;
import java.awt.HeadlessException;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import java.sql.*;
import java.util.*;
import javax.swing.*;
import com.li.myqq.login.Chuangkou;
import com.li.myqq.login.Login;
import com.li.myqq.login.UpdateMyInfo;
import com.li.myqq.login.Zhece;
public class ServerThread implements Runnable{
BufferedReader bur=null;
PrintWriter pw=null;
public Socket socket;
int number=0;
UtilDemo ud=new UtilDemo();
public ServerThread(Socket socket)
{
this.socket=socket;
try {
bur=new BufferedReader(new InputStreamReader(socket.getInputStream()));
pw=new PrintWriter(new OutputStreamWriter(socket.getOutputStream()),true);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void run() {
String biaoji=null;
while(true)
{
try {
biaoji=bur.readLine();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(biaoji);
if(biaoji.equals("login")) //登录处理
{
try {
String ip=bur.readLine().toString().trim();
System.out.println(ip);
number=Integer.parseInt(bur.readLine().trim());
String password=bur.readLine().toString().trim();
String sql="select * from UserInfo where icqno="+number+" and QQpassword='"+password+"'";
System.out.println(sql);
setNumber(number);
ResultSet rs=ud.getData(sql);
if(rs.next())
{
if(rs.getString(4).toString().trim().equals("1")){
pw.println("sorry");
}
else{
pw.println("pass");
// rs.close();
String sql1="update UserInfo set Status=1,Ip='"+ip+"' where icqno="+number+"";
System.out.println(sql1);
ud.update(sql1); //当用户上线后修改其状态
String sql3="select count(*) as dd from FriendInfo where icqno="+number+"";
ResultSet rst2=ud.getData(sql3);
while(rst2.next())
{
pw.println(rst2.getString("dd"));
}
rst2.close();
//读取好友信息
// String sql5="select * from Fellow where icqno="+number;
String sql5="select FriendQQ,QQname,status,Info,Place,Pic from UserInfo as u,FriendInfo as f where f.FriendQQ=u.icqno and f.icqno="+number;
System.out.println(sql5);
ResultSet rst3=ud.getData(sql5);
System.out.println("friend info:"+rst3);
System.out.println(rst3.next());
rst3.previous();
while(rst3.next())
{
String str=rst3.getString("FriendQQ")+"/"+rst3.getString("QQname")+"/"+rst3.getString("status")+"/"+rst3.getString("Info")+"/"+rst3.getString("Place")+"/"+rst3.getString("Pic");
pw.println(str);
System.out.println(str);
}
rst3.close();
// 读取自己信息
String sql2="select QQname,status,Info,Place,Pic,Sex,E_mail from UserInfo where icqno="+number+"";
System.out.println(sql2);
ResultSet rst1=ud.getData(sql2);
while(rst1.next())
{
String str=rst1.getString("QQname")+"/"+rst1.getString("status")+"/"+rst1.getString("Info")+"/"+rst1.getString("Place")+"/"+rst1.getString("Pic")+"/"+rst1.getString("Sex")+"/"+rst1.getString("E_mail");
pw.println(str);
}
rst1.close();
/* String flag=bur.readLine();
String xinxi[]=new String[6];
System.out.println(flag);
//修改个人信息
if(flag.equals("right"))
{
for(int i=0;i<6;i++)
{
xinxi[i]=bur.readLine();
}
JOptionPane.showMessageDialog(null, "确定要修改此记录吗?");
String sql4="update UserInfo set QQname='"+xinxi[0]+"',Sex='"+xinxi[1]+"',Place='"+xinxi[2]+"',E_mail='"+xinxi[3]+"',Info='"+xinxi[4]+"',Pic="+Integer.parseInt(xinxi[5])+" where icqno="+number+" ";
System.out.println("修改个人信息");
System.out.println(sql4);
ud.update(sql4);
//更新
System.out.println("更新个人信息");
String sql6="select QQname,status,Info,Place,Pic,Sex,E_mail from UserInfo where icqno="+number+"";
System.out.println(sql6);
ResultSet rst4=ud.getData(sql6);
while(rst4.next())
{
String str=rst4.getString("QQname")+"/"+rst4.getString("status")+"/"+rst4.getString("Info")+"/"+rst4.getString("Place")+"/"+rst4.getString("Pic")+"/"+rst4.getString("Sex")+"/"+rst4.getString("E_mail");
pw.println(str);
}
rst4.close();
JOptionPane.showMessageDialog(null, "服务器已经接受您的信息");
}
//查找好友
else if(flag.equals("select"))
{
String number=bur.readLine();
String name=bur.readLine();
sql2="select FriendQQ,QQname,status,Sex,Place from UserInfo as u ,FriendInfo where u.icqno="+Integer.parseInt(number)+" or QQname='"+name+"'";
System.out.println(sql2);
ResultSet rst7=ud.getData(sql2);
while(rst7.next())
{
pw.println(rst7);
}
rst7.close();
}*/
}
}
} catch (IOException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
else if(biaoji.equals("success"))
{
String sql1="select Max(icqno) as QQ from UserInfo";
ud.getData(sql1);
ResultSet rst4=ud.getData(sql1);
int num=0;
try {
while(rst4.next())
{
num = Integer.parseInt(rst4.getString("QQ"))+1;
}
String name=bur.readLine();
String mima=bur.readLine();
String sex=bur.readLine();
String address=bur.readLine();
String e_mail=bur.readLine();
String info=bur.readLine();
int pic=Integer.parseInt(bur.readLine());
String sql2="insert into UserInfo(icqno,QQname,QQpassword,Sex,Place,E_mail,Info,Pic) values("+num+",'"+name+"','"+mima+"','"+sex+"','"+address+"','"+e_mail+"','"+info+"',"+pic+")";
System.out.println(sql2);
System.out.println("QQ号码申请成功:"+num);
ud.update(sql2);
JOptionPane.showMessageDialog(null, "QQ号码申请成功!"+"\n"+"QQ号码是:"+num);
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -