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

📄 serverthread.java

📁 个人编写的即时网络通信软件
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
import java.io.*;
import java.net.*;
import java.sql.*;
import java.util.Vector;
class ServerThread extends Thread
{
    private Socket socket;
    private BufferedReader in;
    private PrintWriter out;
    int no;
    public ServerThread(Socket s)throws IOException
    {
        socket=s;
        in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
        out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(
                socket.getOutputStream())),true);
        start();
    }
    public void run()
    {
        try
        {
            try {
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            } catch (ClassNotFoundException ex) {
                ex.printStackTrace();
            }
                       Connection aConnection=DriverManager.getConnection("jdbc:odbc:fwgQQ","","");
                       Statement aStatement=aConnection.createStatement();
            while(true)
            {
               String str=in.readLine();
               if(str.equals("end"))
               {
                   socket.close();
                   break;
               }
               else if(str.equals("login"))
               {
                   try
                   {
                       String aqqno=in.readLine();
                       String aqqpassword=in.readLine();
                       String sql1="select password,nickname,status,ip from qq where qqno='"
                               +aqqno+"'";
                       ResultSet rs=aStatement.executeQuery(sql1);
                       boolean gotIt=rs.next();
                       if(gotIt)
                       {
                            String yourstatus="在线";
                            String yourip=socket.getInetAddress().getHostAddress();
                            String qqpwd=rs.getString("password").trim();
                            String qqnickname=rs.getString("nickname");
                            String sql10="Update qq set status='"+yourstatus+"',ip='"+yourip+"' where qqno='"+aqqno+"'";
                            if(aqqpassword.equals(qqpwd))
                            {
                                out.println("ok");
                                out.println(qqnickname);
                                int result=aStatement.executeUpdate(sql10);                          
                            }
                            else
                            {
                                out.println("pwd_flase");
                                rs.close();
                                aConnection.close();
                            }
                       }
                       else
                       {
                           out.println("no_flase");
                           rs.close();
                           aConnection.close();
                       }    
                   }
                   catch(SQLException ee)
                   {
                      System.out.println("数据库连接有错1");
                   }
                   socket.close();               
               }
               else if(str.equals("new"))
               {
                   try
                   {
                        String aqqno=in.readLine();
                        String apassword=in.readLine();
                        String anickname=in.readLine();
                         String aemail=in.readLine();
                         String aplace=in.readLine(); 
                        String asex=in.readLine();
                        String apic=in.readLine();
                        String ainfo=in.readLine();
                        String sql2="select * from qq where qqno='"+aqqno+"'";
                        String sql3="insert into qq(qqno,password,nickname,pic,sex,email,place,status,ip,info) "
                           +"values('"+aqqno+"','"+apassword+"','"+anickname+"','"+apic+"','"+asex+"','"+aemail+"','"+
                           aplace+"','离线','未知','"+ainfo+"')";
                       ResultSet rs=aStatement.executeQuery(sql2);
                       boolean gotIt=rs.next();
                       if(gotIt)                  
                       {  out.println("have_existed_false"); rs.close();aConnection.close();}     
                       else 
                       {
                           int result=0;
                           result=aStatement.executeUpdate(sql3);
                           if(result==1)
                                out.println("new_succeed");
                           else
                               out.println("new_false");
                           rs.close();
                           aConnection.close();
                       }                 
                   }
                   catch(SQLException e)
                   {   System.out.println("数据库连接有错2");    }
                   socket.close(); 
               }
               else if(str.equals("find"))
               {
                    try
                    {
                        String aqqno=in.readLine().trim();
                        String anickname=in.readLine().trim();
                        if(anickname.equals("")&&(!aqqno.equals("")))
                        {
                            String sql4="select * from qq where qqno='"+aqqno+"'";
                            ResultSet rs=aStatement.executeQuery(sql4);
                            boolean gotIt=rs.next();
                            if(gotIt) 
                            {
                                out.println("have_found");
                                out.println(rs.getString(1));
                                out.println(rs.getString(2));
                                out.println(rs.getString(3));
                                out.println(rs.getString(4));
                                out.println(rs.getString(5));
                                out.println(rs.getString(6));
                                out.println(rs.getString(7));
                                out.println(rs.getString(8));
                                out.println(rs.getString(9));
                                out.println(rs.getString(10));
                                out.println("over");
                             }
                            else
                            {
                                out.println("not_found");
                             }
                          }
                        else if(aqqno.equals("")&&(!anickname.equals("")))
                        {
                            String sql9="select * from qq where nickname='"+anickname+"'";
                            ResultSet rs=aStatement.executeQuery(sql9);
                            boolean gotIt=rs.next();
                            if(gotIt)                   
                                out.println("have_found");           
                             else
                                out.println("not_found");
                            do
                            {
                                out.println(rs.getString(1));
                                out.println(rs.getString(2));
                                out.println(rs.getString(3));
                                out.println(rs.getString(4));
                                out.println(rs.getString(5));
                                out.println(rs.getString(6));
                                out.println(rs.getString(7));
                                out.println(rs.getString(8));
                                out.println(rs.getString(9));
                                out.println(rs.getString(10));
                                gotIt=rs.next();
                            }while(gotIt) ;
                            out.println("over");
                           //     rs.close();
                           //     aConnection.close();
                    
                           
                        }
                        else if(aqqno.equals("")&&anickname.equals(""))
                        {
                            out.println("noinfo");
                        }
                        else
                        {
                            String sql10="select * from qq where qqno='"+aqqno+"' and nickname='"+anickname+"'";
                            ResultSet rs=aStatement.executeQuery(sql10);
                            boolean gotIt=rs.next();
                            if(gotIt) 
                            {
                                out.println("have_found");
                                out.println(rs.getString(1));
                                out.println(rs.getString(2));

⌨️ 快捷键说明

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