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

📄 loginthread.java

📁 类似qq的以c/s结构和p2p结构结合的聊天软件。
💻 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 + -