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

📄 serverthreadforclient.java

📁 我用JAVA写的QQ程序
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
                 if(Information.equals("DelResMsg")){
                     new UpdatePersonalInformation(QQNumber,"ResponseList","@").Update();
                     System.out.println("还是哈哈");
                 }
                 if(Information.startsWith("DelLevGroupMsg")){
                     new UpdatePersonalInformation(QQNumber,"GroupLeavingMessage","@").Update();
                 }
                 if(Information.startsWith("DelFri")){
                     new UpdatePersonalInformation(QQNumber,"FriendList","@"+Information.substring(6)).Update();
                     new SendAndReceive(clientSocket,"ReDelFri"+Information.substring(6)).SendMessage();
                 }
                 
                 if(Information.startsWith("NewGroup")){
                     String GroupNumber=Information.substring(8,12);
                     System.out.println( "哈哈");
                     System.out.println( GroupNumber);
                     String Icon=Information.substring(12,13);
                     System.out.println( Icon);
                     String GroupMember=Information.substring(14);
                     System.out.println( GroupMember); 
                     if(new DMLGroups(GroupNumber,Icon,GroupMember,QQNumber).Insert()){
                         new UpdatePersonalInformation(QQNumber,"MyGroup",GroupNumber).Update();
                         StringTokenizer Sk=new StringTokenizer(GroupMember,"#");
                         while(Sk.hasMoreTokens()){
                              String Number=Sk.nextToken().substring(1,10);
                              new UpdatePersonalInformation(Number,"GroupList",Icon+GroupNumber).Update();
                         }
                         new SendAndReceive(clientSocket,"newGroupOK").SendMessage();
                     }
                     else{
                         new SendAndReceive(clientSocket,"newGroupNO").SendMessage();
                     }
                 }
                 if(Information.startsWith("GroupMessage")){                //群消息
                     String GroupNum=Information.substring(12,16);
                     String Message=Information;
                    try {
                        new DMLGroups().Append(GroupNum,"Messages",Message.substring(12));
                    } catch (SQLException ex) {
                        ex.printStackTrace();
                    }
                     String Member=new DMLGroups().Query(GroupNum,"Members");
                     Socket ToSocket=null;
                     StringTokenizer St=new StringTokenizer(Member,"#");
                     while(St.hasMoreTokens()){
                           String Number=St.nextToken().substring(1,10);
                           System.out.println("得到的号码对不?:"+Number);
                           int i=0;
                           System.out.println("长度:"+服务器界面.clientOnlineList.GetLength());
                           for(i=0;i<服务器界面.clientOnlineList.GetLength();i++){
                               System.out.println("在线号码:"+服务器界面.clientOnlineList.GetMember(i).GetNumber());
                               if(服务器界面.clientOnlineList.GetMember(i).GetNumber().equals(Number)){
                                     
                                  ToSocket=服务器界面.clientOnlineList.GetMember(i).GetSocket();
                              }
                           }
                           System.out.println("一定能过去的");
                           if(ToSocket!=null){
                                  new SendAndReceive(ToSocket,Message).SendMessage();
                                  System.out.println("发送了群消息");
                           }
                           else{
                                 
                                 new UpdatePersonalInformation(Number,"GroupLeavingMessage",Message).Update();
                                 System.out.println("保存群消息");
                           }
                            
                           
                             
              
                   }
                 }
                 if(Information.startsWith("TransFile")){
                     String Number=Information.substring(9,18);
                     String InetAddr=Information.substring(18);
                     Socket ToSocket=null;
                     int i=0;
                       for(i=0;i<服务器界面.clientOnlineList.GetLength();i++){
                           if(服务器界面.clientOnlineList.GetMember(i).GetNumber().equals(Number)){
                                 ToSocket=服务器界面.clientOnlineList.GetMember(i).GetSocket();
                           }
                       }
                       if(ToSocket!=null){
                           new SendAndReceive(ToSocket,"TransFile"+InetAddr).SendMessage();
                       }
                       else{
                           new SendAndReceive(clientSocket,"ReTransFileFail").SendMessage();
                       }
                 }
                 if(Information.startsWith("ReTransFileRefuse")){
                     new SendAndReceive(clientSocket,"ReTransFileRefuse").SendMessage();
                 }
                 if(Information.startsWith("CharRecordC")){
                     String SayFrom=Information.substring(11,20);
                     System.out.println("说话的是:"+SayFrom);
                     String SayTo=Information.substring(20);
                     System.out.println("听者是:"+SayTo);
                     String Record="ChatRecordC";
                     ResultSet ResultData=new DMLMessageRecord().Query();
                    try {
                        while(ResultData.next()){
                              String From=ResultData.getString("SayFrom");
                              if(From.equals(SayFrom)){
                                   Record=Record+SayFrom+ResultData.getString("Content")+"#";
                              }
                              else if(From.equals(SayTo)){
                                   Record=Record+SayTo+ResultData.getString("Content")+"#";
                              }
                              else{
                                   Record=Record;
                              }
                        }
                    } catch (SQLException ex) {
                        ex.printStackTrace();
                    }
                    new SendAndReceive(clientSocket,Record).SendMessage();
                 }
                 if(Information.startsWith("ChatRecordG")){
                     String GroNum=Information.substring(11);
                     String Record=new DMLGroups().Query(GroNum,"Messages").substring(1);
                     new SendAndReceive(clientSocket,"ChatRecordG"+Record).SendMessage();
                 }
                 if(Information.startsWith("Add")){
                    String To=Information.substring(3,12);
                    String From=Information.substring(12,21);
                    String NicNam=Information.substring(21);
                    if(!new Identifying(To).IsNumberExistOnline()){      //判断是否在线
                        new UpdatePersonalInformation(To,"RequestList",From+NicNam).Update();        //如果不在
                        
                    }
                    else{
                        Socket ToSocket=null; 
                        for(int i=0;i<服务器界面.clientOnlineList.GetLength();i++){
                           if(服务器界面.clientOnlineList.GetMember(i).GetNumber().equals(To)){
                                 ToSocket=服务器界面.clientOnlineList.GetMember(i).GetSocket();
                           }
                        }
                        new SendAndReceive(ToSocket,"Add"+From+NicNam).SendMessage();        //给在线的人发送加好友请求
                        System.out.println("发了Add请求");
                    }
                 }
                 if(Information.startsWith("RA")){
                     String To=Information.substring(4,13);
                     String Answer=null;
                     if(Information.substring(2,4).equals("OK")){
                         Answer="RAOK"+NickName;
                         new UpdatePersonalInformation(To,"FriendList",Icon+QQNumber+NickName).Update();
                         Identifying IsOnline=new Identifying(To);
                         if(IsOnline.IsNumberExistOnline()){
                             String state="1";
                             if(IsHide){
                                 state="0";
                             } 
                             System.out.println("这里是:"+IsOnline.socket);
                             
                             new SendAndReceive(IsOnline.socket,"New"+state+Icon+QQNumber+NickName+"#").SendMessage();
                             System.out.println("发了更新命令");
                             new SendAndReceive(IsOnline.socket,Answer).SendMessage();
                             continue;
                         }
                         else{
                             new UpdatePersonalInformation(To,"ResponseList",Answer).Update();        //如果不在
                         }
                         System.out.println("这次答案是:"+Answer);
                     }
                     else{
                         Answer="RANO"+NickName;
                         Identifying IsOnline=new Identifying(To);
                        if(!IsOnline.IsNumberExistOnline()){                         //判断是否在线
                             new UpdatePersonalInformation(To,"ResponseList",Answer).Update();        //如果不在
                         
                        }
                        else{
                             /*Socket ToSocket=null; 
                             for(int i=0;i<服务器界面.clientOnlineList.GetLength();i++){
                                 if(服务器界面.clientOnlineList.GetMember(i).GetNumber().equals(To)){
                                     ToSocket=服务器界面.clientOnlineList.GetMember(i).GetSocket();
                                 }
                             }*/   
                             new SendAndReceive(IsOnline.socket,Answer).SendMessage();        //给在线的人发送加好友请求
                        }
                     }
                 }
                 
            }
            catch(IOException ee)
            {
                //String r="0E";
                //服务器界面.clientOnlineList.RemoveMember(QQNumber);
                //int i=0;
                //for(i=0;i<服务器界面.clientOnlineList.GetLength();i++){
                  // r=r+服务器界面.clientOnlineList.GetMember(i).GetNumber()+"|";
                                    
               // }
               //for(i=0;i<服务器界面.clientOnlineList.GetLength();i++)
               //{
                  // Socket ToSocket=服务器界面.clientOnlineList.GetMember(i).GetSocket();
                  //  try {
                  //      Out=new PrintWriter(ToSocket.getOutputStream());
                  //  } catch (IOException ex) {
                   //     ex.printStackTrace();
                   // }
                  // Out.println(new String(new StringBuffer(r)));
                  // Out.flush();
               //}
                try {
                    clientSocket.close();
                } catch (IOException ex) {
                    ex.printStackTrace();
                }
               break;
            }
                  
        }
    }

  
    
}

⌨️ 快捷键说明

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