📄 qqserver.java
字号:
con=DriverManager.getConnection("jdbc:odbc:qqserver","","");
sql=con.createStatement();
String q1="'"+s1.trim()+"'";
String q2="'"+s2.trim()+"'";
String q3="'"+s3.trim()+"'";
String q4="'"+s4.trim()+"'";
String q5="'"+s5.trim()+"'";
String q6="'"+s6.trim()+"'";
String q7="'"+s7.trim()+"'";
rs=sql.executeQuery("select * from yonghuxinxi where 用户名="+q1);
while(rs.next())
{ try
{
String nn="yiyougaiyonghu";
byte buffer[]=nn.getBytes();
data_send=new DatagramPacket(buffer,buffer.length,address,8888);
send=new DatagramSocket();
send.send(data_send);//提示客户端数据库中已有该用户!
}
catch(Exception e6) {}
text1.append("服务器发送:已有该用户!"+'\n');
gg=false;
}
if(gg)
{
sql.executeUpdate("insert into yonghuxinxi values("+q1+","+q2+","+q3+","+q4+","+q5+","+q6+","+q7+")");
try
{
String nn="zhucechenggong";
byte buffer[]=nn.getBytes();
data_send=new DatagramPacket(buffer,buffer.length,address,8888);
send=new DatagramSocket();
send.send(data_send); //提示客户端注册成功!
text1.append("服务器发送:注册成功!"+'\n');
con.close();
}
catch(Exception e9) {}
}
}
catch(SQLException e8) {}
}
else if(qq.equals("scanonline"))//扫描所有在线用户和所有用户,发送给客户端
{ String nn="onlineqq";
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException e2) {}
try
{
con=DriverManager.getConnection("jdbc:odbc:qqserver","","");
sql=con.createStatement();
rs=sql.executeQuery("select * from zaixian");
while(rs.next())
{String str=rs.getString("用户名");
nn=nn+','+str+',';
}
}
catch(SQLException e) {}
try
{ byte buffer[]=nn.getBytes();
data_send=new DatagramPacket(buffer,buffer.length,address,8888);
send=new DatagramSocket();
send.send(data_send);
text1.append("服务器发送:"+nn+'\n');
}
catch(Exception e3){}
String nnn="suoyouyonghu";
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException e2) {}
try
{
con=DriverManager.getConnection("jdbc:odbc:qqserver","","");
sql=con.createStatement();
rs=sql.executeQuery("select * from yonghuxinxi");
while(rs.next())
{String str=rs.getString("用户名");
nnn=nnn+','+str+',';
}
}
catch(SQLException e) {}
try
{ byte buffer[]=nnn.getBytes();
data_send=new DatagramPacket(buffer,buffer.length,address,8888);
send=new DatagramSocket();
send.send(data_send);
text1.append("服务器发送:"+nnn+'\n');
}
catch(Exception e3){}
}
else if(qq.equals("liaotianshuju"))//客户端发来的数据包为聊天数据,根据目的用户名查询其IP地址进行转发
{ InetAddress qfq=null;
String ip=null;
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException e2) {}
try
{
con=DriverManager.getConnection("jdbc:odbc:qqserver","","");
sql=con.createStatement();
String q1="'"+s2.trim()+"'";
rs=sql.executeQuery("select * from zaixian where 用户名="+q1);
while(rs.next())
{ ip=rs.getString("ip地址");
}
try
{
qfq=InetAddress.getByName(ip);
}
catch(UnknownHostException e) {}
try
{
String nn="liaotianshuju"+','+s1+','+s3;
byte buffer[]=nn.getBytes();
data_send=new DatagramPacket(buffer,buffer.length,qfq,8888);
send=new DatagramSocket();
send.send(data_send);
text1.append("服务器发送:"+nn+'\n');
}
catch(Exception e6) {}
}
catch (SQLException e2) {}
}
else if(qq.equals("chaxungerenxinxi")) //接收的数据包请求为查询个人信息
{ String w1=null,w2=null,w3=null,w4=null,w5=null,w6=null;
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException e2) {}
try
{
con=DriverManager.getConnection("jdbc:odbc:qqserver","","");
sql=con.createStatement();
String q1="'"+s1.trim()+"'";
rs=sql.executeQuery("select * from yonghuxinxi where 用户名="+q1);
while(rs.next())
{w1=rs.getString("用户名");
w2=rs.getString("学院");
w3=rs.getString("班级");
w4=rs.getString("QQ号");
w5=rs.getString("手机号");
w6=rs.getString("出生日期");
}
con.close();
}
catch(SQLException e8) {}
String nn="gerenxinxi"+','+w1+','+w2+','+w3+','+w4+','+w5+','+w6;
try
{ byte buffer[]=nn.getBytes();
data_send=new DatagramPacket(buffer,buffer.length,address,8888);
send=new DatagramSocket();
send.send(data_send);
}
catch(Exception e3){}
}
else if(qq.equals("qqxiaxian"))//客户端通知服务器端下线,服务器端将其从在线列表中删除
{ try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException e2) {}
try
{
con=DriverManager.getConnection("jdbc:odbc:qqserver","","");
sql=con.createStatement();
String zz="'"+s1.trim()+"'";
sql.executeUpdate("delete from zaixian where 用户名="+zz);
con.close();
}
catch(SQLException e8) {}
}
else if(qq.equals("xiugaigerenmima")) //客户端请求修改其登录密码
{ try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException e2) {}
try
{
con=DriverManager.getConnection("jdbc:odbc:qqserver","","");
sql=con.createStatement();
String q1="'"+s1.trim()+"'";
String q2="'"+s2.trim()+"'";
sql.executeUpdate("update yonghuxinxi set 密码="+q2+" where 用户名="+q1);
con.close();
}
catch(SQLException e3) {}
String nn="xiugaigerenmimachenggong"+',';
try
{ byte buffer[]=nn.getBytes();
data_send=new DatagramPacket(buffer,buffer.length,address,8888);
send=new DatagramSocket();
send.send(data_send); //服务器通知客户端修改密码成功
}
catch(Exception e3){}
}
else if(qq.equals("xiugaigerenxinxi")) //客户端请求修改其个人信息
{ try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException e2) {}
try
{
con=DriverManager.getConnection("jdbc:odbc:qqserver","","");
sql=con.createStatement();
String q1="'"+s1.trim()+"'";
String q2="'"+s2.trim()+"'";
String q3="'"+s3.trim()+"'";
String q4="'"+s4.trim()+"'";
String q5="'"+s5.trim()+"'";
String q6="'"+s6.trim()+"'";
sql.executeUpdate("update yonghuxinxi set 学院="+q2+" where 用户名="+q1);
sql.executeUpdate("update yonghuxinxi set 班级="+q3+" where 用户名="+q1);
sql.executeUpdate("update yonghuxinxi set QQ号="+q4+" where 用户名="+q1);
sql.executeUpdate("update yonghuxinxi set 手机号="+q5+" where 用户名="+q1);
sql.executeUpdate("update yonghuxinxi set 出生日期="+q6+" where 用户名="+q1);
con.close();
}
catch(SQLException e3) {}
String nn="xinxixiugaichenggong"+',';
try
{ byte buffer[]=nn.getBytes();
data_send=new DatagramPacket(buffer,buffer.length,address,8888);
send=new DatagramSocket();
send.send(data_send); //服务器通知客户端修改个人信息成功
}
catch(Exception e3){}
}
else if(qq.equals("filetransfer"))//在线用户之间传送文本文件,由服务器进行转发
{ InetAddress qfq=null;
String ip=null;
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException e2) {}
try
{
con=DriverManager.getConnection("jdbc:odbc:qqserver","","");
sql=con.createStatement();
String q1="'"+s2.trim()+"'";
rs=sql.executeQuery("select * from zaixian where 用户名="+q1);
while(rs.next())
{ ip=rs.getString("ip地址");
}
try
{
qfq=InetAddress.getByName(ip);
}
catch(UnknownHostException e) {}
}
catch (SQLException e2) {}
try
{
String nn="filetransfer"+','+s3+','+s.substring(qq.length()+s1.length()+s2.length()+s3.length()+4);
byte buffer[]=nn.getBytes();
data_send=new DatagramPacket(buffer,buffer.length,qfq,8888);
send=new DatagramSocket();
send.send(data_send);
}
catch(Exception e6) {}
}
else if(qq.equals("lixianwenjian"))//客户端发送离线文件,服务器负责存储,并在数据库中添加相应的记录
{ String q1="",q2="",q3="";
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException e2) {}
try
{
con=DriverManager.getConnection("jdbc:odbc:qqserver","","");
sql=con.createStatement();
q1="'"+s1.trim()+"'";
q2="'"+s2.trim()+"'";
q3="'"+s3.trim()+"'";
String q4="'"+s1.trim()+s2.trim()+s3.trim()+"'";
sql.executeUpdate("insert into lixianwenjian values("+q1+","+q2+","+q4+")");
}
catch(SQLException e4) {}
String wenjianming=s1.trim()+s2.trim()+s3.trim();
String filedata=s.substring(qq.length()+s1.length()+s2.length()+s3.length()+4);
try
{File file=new File("E:\\wenjian",wenjianming);
tofile=new FileWriter(file);
bout=new BufferedWriter(tofile);
bout.write(filedata,0,filedata.length());
bout.flush();
bout.close();
tofile.close();
}
catch(IOException e9) {}
}
else if(qq.equals("liuyan")) //客户端请求留言,服务器在数据库中添加相应的记录
{ try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException e2) {}
try
{
con=DriverManager.getConnection("jdbc:odbc:qqserver","","");
sql=con.createStatement();
String q1="'"+s1.trim()+"'";
String q2="'"+s2.trim()+"'";
String q3="'"+s3.trim()+"'";
String q4="'"+s4.trim()+"'";
sql.executeUpdate("insert into liuyan values("+q1+","+q2+","+q3+","+q4+")");
}
catch(SQLException e3) {}
}
}
public void actionPerformed(ActionEvent e)//服务器广播信息给所有在线用户
{if(e.getSource()==button)
{try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException e2) {}
InetAddress bc=null;
try
{
con=DriverManager.getConnection("jdbc:odbc:qqserver","","");
sql=con.createStatement();
rs=sql.executeQuery("select * from zaixian ");
while(rs.next())
{String aa=rs.getString("ip地址");
try
{
bc=InetAddress.getByName(aa);
}
catch(UnknownHostException e3) {}
String nn="broadcast"+'\n'+text2.getText();
byte buffer[]=nn.trim().getBytes();
try
{ data_send=new DatagramPacket(buffer,buffer.length,bc,8888);
send=new DatagramSocket();
send.send(data_send);
Date date1=new Date();
text1.append("服务器广播:"+text2.getText()+'\n');
}
catch(Exception e5) {}
}
con.close();
}
catch(SQLException e8) {}
}
}
}
public class qqserver
{ public static void main(String ll[])
{fuwuqi jj=new fuwuqi();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -