?? asdasdas.java
字號:
package com.cloudcloud.soft;
import java.net.*;
import java.util.*;
public class asdasdas
{
public static void main(String[] args)
{
try
{
Hashtable ht = new Hashtable();
ServerSocket ss = new ServerSocket(8000);
azsdasd si = new azsdasd();
si.setServerDocs("hewei的QQ服務器已經啟動。");
while(true)
{
si.setVisible(true);
si.setServerDocs("服務器正在8000端口監聽......");
Socket s = ss.accept();
si.setServerDocs("服務器已經和客戶端建立連接。");
si.setClientDocs(s.getInetAddress().toString().substring(1) + ":" + s.getPort() + "連接到服務器。");
MyService mys = new MyService();
mys.setServerInfo(si);
mys.setSocket(s);
mys.setHashtable(ht);
mys.start();
}
}
catch(Exception e)
{
}
}
}
class MyService extends Thread
{
Socket s;
Hashtable ht;
azsdasd si;
asdasd member;
public void setServerInfo(azsdasd si)
{
this.si = si;
}
public void setHashtable(Hashtable ht)
{
this.ht = ht;
}
public void setSocket(Socket s)
{
this.s = s;
}
private void setMemLog(String num)
{
MemberLog ml = new MemberLog();
ml.setQQNum(num);
ml.setIP(s.getInetAddress().toString().substring(1));
ml.setLoginTime(new qwqw().getDateAndTime());
ml.setStatus("在線");
ml.setLogtime(new Date().getTime());
si.putMembetToTable(ml);
}
private void apply(asdsss ms)
{
si.setClientDocs("客戶");
String info = ms.readLine();
member = new asdasd();
member.setName(info.split("==QQ==")[0]);
member.setPwd(info.split("==QQ==")[1]);
member.setHeadNum(Integer.parseInt(info.split("==QQ==")[2]));
member.setSex(info.split("==QQ==")[3]);
member.setAge(Integer.parseInt(info.split("==QQ==")[4]));
member.setEmail(info.split("==QQ==")[5]);
member.setShow(info.split("==QQ==")[6]);
si.setServerDocs("......");
asdasdasd mydb = new asdasdasd("files/Database.ini");
si.setServerDocs("......");
mydb.insertData("INSERT INTO MEMBER VALUES('" + member.getPwd() + "', '" + member.getName() + "', " + member.getHeadNum() + ", '" + member.getSex() + "', " + member.getAge() + ", '" + member.getEmail() + "', '" + member.getShow() + "')");
si.setServerDocs("......");
String QQNum = mydb.getOneData("SELECT MEMBER_ID FROM MEMBER WHERE MEMBER_NAME = '" + member.getName() + "' AND MEMBER_PWD = '" + member.getPwd() + "'");
si.setServerDocs("......");
ms.println(QQNum);
s = null;
}
private void login(asdsss ms)
{
si.setClientDocs(".");
si.setServerDocs("......");
String uandp = ms.readLine();
String Num = uandp.split("==CloudQQ==")[0];
String Pwd = uandp.split("==CloudQQ==")[1];
si.setServerDocs("." + Num + "......");
asdasdasd mydb = new asdasdasd("files/Database.ini");
String isNull = mydb.isNull("SELECT * FROM MEMBER WHERE MEMBER_ID=" + Num + " AND MEMBER_PWD='" + Pwd + "'");
si.setServerDocs("畢");
if(isNull.equals("NOTNULL"))
{
si.setServerDocs(Num + "..");
ms.println("CloudQQ_OK");
si.setServerDocs("..." + Num + "......");
ArrayList userData = new ArrayList();
userData = mydb.getAllDataToString("SELECT * FROM MEMBER WHERE MEMBER_ID = " + Num );
ListIterator li = userData.listIterator();
String sep = "==QQ==";
String mass = "";
while(li.hasNext())
{
mass = mass + (String)li.next() + sep;
}
si.setServerDocs("..." + Num + "......");
ms.println(mass);
try
{
Thread.sleep(2000) ;
}
catch (InterruptedException e)
{
e.printStackTrace();
}
Enumeration em = ht.elements();
si.setServerDocs(".." + Num + "......");
while(em.hasMoreElements())
{
Socket othersSocket = (Socket)em.nextElement();
asdsss otherms = new asdsss(othersSocket);
otherms.println("USERS==com==" + mass);
}
em = ht.keys();
si.setServerDocs(".." + Num + "......");
while(em.hasMoreElements())
{
String otherUsers = (String)em.nextElement();
userData = new ArrayList();
userData = mydb.getAllDataToString("SELECT * FROM MEMBER WHERE MEMBER_ID = '" + otherUsers + "'");
li = userData.listIterator();
mass = "";
while(li.hasNext())
{
mass = mass + (String)li.next() + sep;
}
ms.println("USERS==com==" + mass);
}
si.setServerDocs(".." + Num + "......");
ht.put(Num,s);
si.setClientDocs(Num + "。");
setMemLog(Num);
si.setServerDocs("......");
try
{
while(true)
{
mass = ms.readLine();
if(mass.equals(""))
{
break;
}
else if(mass.split("==com==")[0].equals("CHAT"))
{
String chatInfo = mass.split("==com==")[1];
String fromID = chatInfo.split("==QQ==")[0];
String toID = chatInfo.split("==QQ==")[1];
Socket ts = (Socket)ht.get(toID);
if(ts != null)
{
asdsss tms = new asdsss(ts);
tms.println(mass);
si.setClientDocs(fromID + "向" + toID + "。");
}
else
{
si.setClientDocs(fromID + "向" + toID + "。");
si.setServerDocs(toID +"已經退出。");
}
}
else if(mass.split("==com==")[0].equals("LOGOUT"))
{
String fromID = mass.split("==com==")[1];
si.setClientDocs(fromID + "。");
si.setServerDocs(".." + fromID + ".。");
ht.remove(fromID);
em = ht.elements();
si.setServerDocs("." + fromID + "......");
while(em.hasMoreElements())
{
Socket othersSocket = (Socket)em.nextElement();
asdsss otherms = new asdsss(othersSocket);
otherms.println("REMOVE_USERS==com==" + fromID);
}
si.setClientDocs(fromID + "。");
si.moveMemberFromTable(fromID);
}
}
}
catch(Exception e)
{
}
}
else if(isNull.equals("NULL"))
{
si.setServerDocs(Num + "..");
ms.println("CloudQQ_ERR");
}
else if(isNull.equals("ERROR"))
{
si.setErrDocs("無法連接到數據庫。");
ms.println("CloudQQ_DATABASE_ERR");
}
}
public void run()
{
asdsss ms = new asdsss(s);
String operation = ms.readLine();
if(operation.equals("APPLY"))
{
this.apply(ms);
}
else if(operation.equals("LOGIN"))
{
this.login(ms);
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -