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

📄 serverthread.java

📁 JAVAQQ 聊天系统,信息发送.改变头像.等功能,时时聊天.
💻 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 + -